MozTW 討論區
https://forum.moztw.org/

有關於document.write()在select中顯示不正常之問題
https://forum.moztw.org/viewtopic.php?f=13&t=17502
1 頁 (共 1 頁)

發表人:  訪客 [ 2007-02-01, 19:49 ]
文章主題 :  有關於document.write()在select中顯示不正常之問題

大家好,

這個問題我是著找答案,但是無法找到我要的解答,請各位看看這是個什麼樣的問題。

我在<select>中想要秀文字,這個文字是透過document.write()來達成,語法如下

<select name="combobox" onChange="Change(this.selectedIndex);">
<option value=1><script type='text/javascript'>document.write(choosetext('ME'))</script></option>

<option value=2><script type='text/javascript'>document.write(choosetext('HE'))</script></option>

<option value=3><script type='text/javascript'>document.write(choosetext('YOU'))</script></option>

</select>

我期望在這邊choosetext()是希望可以傳回不同的語言,例如,"ME"傳回中文的"我",而Change()的作用則是希望在選擇到不同的選項時有不同的頁面顯示而做的處理。

Change(t) {
var mod = new Array("cgi-bin/me","cgi-bin/he","cgi-bin/you");
location.replace(mod[t]);
}
choosetext(key) {
if(key == "ME"){return "我";}
if(key == "YOU"){return "你";}
if(key == "HE"){return "他";}
}

問題在於,我用IE,一般的firefox觀看頁面顯示都正常,但是使用SUSE的mozilla 1.7.11觀看時,最後一個選項的文字便無法顯示出來,但換頁的功能可以達成。


請有經驗的人不吝指教,謝謝!

發表人:  kourge [ 2007-02-13, 14:39 ]
文章主題 : 

改成這樣試試看:
function Change(t) {
var mod = new Array("cgi-bin/me","cgi-bin/he","cgi-bin/you");
location.replace(mod[t]);
}
function choosetext(key) {
if(key == "ME"){return "我";}
if(key == "YOU"){return "你";}
if(key == "HE"){return "他";}
}

另外...new Array(東西) 的語法可以改成 [東西],比較簡潔,如:
var x = new Array(1, 2, 3);
var y = [1, 2, 3];

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/