原代碼錯誤
// 錯誤 1:字符串缺少引號
if (document.form1.theDay.options[2].text != Wednesday) // Wednesday 應為 "Wednesday"
// 錯誤 2:構造函數大小寫
var lastoption = new option(); // 應為 Option()
var option = new option("Wednesday", 2); // 應為 Option()
// 錯誤 3:HTML 選項值未加引號
<option value=0 selected>Monday // 建議 <option value="0" selected>Monday</option>
修正後核心邏輯
function butAddWed_onclick() {
var sel = document.form1.theDay;
if (sel.options[2].text != "Wednesday") { // 加引號
var lastOpt = new Option(); // 大寫 O
sel.options[6] = lastOpt;
for (var i=6; i>2; i--) {
sel.options[i].text = sel.options[i-1].text;
sel.options[i].value = sel.options[i-1].value;
}
sel.options[2] = new Option("Wednesday", "2"); // 大寫 O
} else {
alert("Do you want to have TWO Wednesdays?????");
}
}
調試技巧
- 打開瀏覽器開發者工具 Console 查看紅色報錯信息。
- 嚴格區分 JS 大小寫(
Option vs option)。
- HTML 屬性值建議始終加雙引號。