我正在使用一些JavaScript來檢查HTML表單以查看用戶是否選擇了單選按鈕。它在Chrome,FireFox和Safari中運行得非常好,但在IE中卻不行(在不同的機器上試過ie9和ie11)。JavaScript,radiobutton.checked在IE中不工作
這是一個鏈接到頁面(這是一個學校作業,所有的代碼都可以在源代碼中很容易看到),所以你可以看看代碼並看到它在Chrome中工作,看看IE中會發生什麼。 http://lampbusters.com/bellerose/javascript/form.html (表單提交給一個簡單的echo php腳本,所以你不必擔心它發送到任何地方或保存任何信息。)
對於那些不想跟隨鏈接,這裏是代碼:
window.onload = setupEvents;
function setupEvents() {
document.getElementById('contactForm').onsubmit = checkForm;
}
function checkForm() {
var shootType = document.contactForm.shootType
var shootInstruct = document.getElementById('shootInstruct')
var checkOne = false;
var i;
for (i in shootType) {
if (shootType[i].checked) {
checkOne = true;
}
}
if (checkOne != true) {
alert("Please tell me what kind of photography shoot you're interested in.");
shootInstruct.style.color = "#FF0000";
shootInstruct.style.fontSize = "1.2em";
shootInstruct.style.fontWeight = "Bold";
return false;
}
else {
return true;
}
}
shootType被引用與HTML相同的「name」屬性約6單選按鈕,使得它基本上用作陣列。正如你所看到的,這只是簡單地貫穿該數組,檢查是否被選中,然後提交表單(如果選中了一個)或不提交(如果沒有)。在所有其他瀏覽器中完美工作,但在IE中它永遠不會提交,即使單選按鈕被選中。由於我只是在學習js,所以我不確定哪部分是IE不支持的,並且沒有太多的運氣來搜索這個問題。任何人有一個想法,爲什麼這不是在IE瀏覽器工作?
。謝謝。 – Tyler