網頁表單的問題
將下面的網頁修改成一般單機用的程式
http://www.photo4cc.com/jo/index.php
改成單機版(不要用php or asp寫)
比方用一般單純的javascript修改成單機用的
因為要燒成光碟使用
把網頁另存為html檔後,將html檔中的 action="scores.php" 拿掉就可以了
如果第2頁也要顯示就將第2頁也另存html檔,將scores.php改為第2頁html檔的檔名
bruck 的解決方法是有效的,
但要動態改 action="第二頁" 就有點麻煩。
並且沒有實際處理怎麼讀各不同結果的圖檔及文字說明。
本來還想用 prototype 來偵測 各Q* 的 true 的 value,
然後再累加,但看到裡面早就包有一個 checkout.js,
是用最基本的語法做出,
就乾脆利用這個 JS 檔案改一改就可以了。
把原來只有 alert 的方式,
再增加幾個 document.write,
來把 要回應的文字 及圖檔網址 給畫出來,
就變成完全是 javascript 的回應了。
首先把 bruck 所提的 action="scores.php",
改為 action="#"
然後修改 checkout.js :
<pre class="c" name="code">
<!--
function check()
{
# 相同的地方都略過...
var link;
//if (score > -1 && score < 3)
if (score > -1 && score < 6)
{ message = "真令人羨慕 !\n你目前的情緒狀態很穩定,\n是個懂得適時調整情緒及紓解壓力的人。"
//link = "score1.asp";
msg2 = "OK!您的身心健康狀況不錯,繼續維持,並與他人分享您處理壓力的心得。";
png = "6down.png";
}
//else if (score > 2 && score < 10)
else if (score > 6 && score < 10)
{ message = "最近的情緒是否起伏不定 ? 或是有些事情在困擾著你 ?\n給自己多點關心,多注意情緒的變化,\n試著了解心情變化的緣由,做適時的處理,比較不會陷入憂鬱情緒。"
//link = "score2.asp";
msg2 = "請注意!您可能要注意自己的情緒狀況,請注意要放鬆心情。";
png = "6-9.png";
}
//else if (score > 9 && score < 14)
else if (score > 9 && score < 15)
{ message = "你是不是想笑又笑不太出來,有許多事壓在心上,肩上總覺得很沉重 ?\n因為你的壓力負荷量已到臨界點了,千萬別再『撐』了 !\n趕快找個有相同經驗的朋友聊聊,給心情找個出口,把肩上的重擔放下,\n這樣才不會陷入憂鬱症的漩渦 !"
//link = "score3.asp";
msg2 = "您目情的狀況可能有情緒困擾,建議您找心理衛生專業人員談一談。";
png = "10-14.png";
}
//else if (score > 13)
else if (score > 14)
{ message = "你是不是感到相當的不舒服,會不由自主的沮喪、難過,無法掙脫 ?\n因為你的心已『感冒』,心病需要心藥醫,\n趕緊到醫院找專業及可信賴的醫生檢查,\n透過他們的診療與治療,你將不再覺得孤單、無助 !"
//link = "score4.asp";
msg2 = "您的身心健康狀況可能需要醫療專業的協助,請找專業醫師協助處理。";
png = "15up.png";
}
else
message = "系統錯誤 !";
alert("你的得分是:" + score + "\n\n" + message);
document.write("你的得分是:" + score + "<br>" + msg2);
document.write("<input type=button value='重新測驗' onClick='history.go(-1)'>");
document.write("<img src=" + png +">");
return true;
}
}
//-->
做出來的結果放在:
http://ylh.ntumc.org/jsdemo/index.html
包括所需的完整相關檔案,打包在:
http://ylh.ntumc.org/jsdemo.zip
原有的檔案,有以下問題,您要自行修正:
6分以下 及 6-9 分 的圖檔檔名雖不同,
但 圖的內容 完全相同,可能存錯了。
checkout.js 裡面 alert 的各 message 的內容,
跟 score 所 印出來的文字 大不相同,
message 中的 分數間距 也與 score 回應出的也有出入。
scores.php 最後畫出的下面,有個 資料統計 按鍵無效,
而 html 碼中卻是指到某 asp 檔案。
而改好的 js 的版本,
只以 最陽春 的形式顯示出,
用 Firefox 及 IE 看起來各有點不同,
若要像 scores.php 畫出的樣子,
就自行在 checkout.js 裡用 document.write 的方式,
來補成所需要的樣子。
這只是以現有的、最少的變動方式來改,
也只是以最基礎的語法做出,
細節有一些是值得修改的,
真是獻醜了,
就請邦友提供修正。