JavaScript,radiobutton.checked在IE中不工作
我使用了一些JavaScript来检查HTML表单,看看用户是否选择了单选按钮。它在Chrome、FireFox和Safari中工作得非常出色,但在不同机器上试用过的IE ie9和ie11中却没有 这里有一个链接,指向学校作业页面,因此所有代码在源代码中都很容易看到,因此您可以查看代码,看到它在Chrome中工作,并看到IE中发生了什么。 表单提交到一个简单的echo php脚本,因此您不必担心它会发送到任何地方或保存任何信息 对于那些不想访问该链接的用户,以下是代码:JavaScript,radiobutton.checked在IE中不工作,javascript,html,internet-explorer,Javascript,Html,Internet Explorer,我使用了一些JavaScript来检查HTML表单,看看用户是否选择了单选按钮。它在Chrome、FireFox和Safari中工作得非常出色,但在不同机器上试用过的IE ie9和ie11中却没有 这里有一个链接,指向学校作业页面,因此所有代码在源代码中都很容易看到,因此您可以查看代码,看到它在Chrome中工作,并看到IE中发生了什么。 表单提交到一个简单的echo php脚本,因此您不必担心它会发送到任何地方或保存任何信息 对于那些不想访问该链接的用户,以下是代码: window.onloa
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中引用了大约6个具有相同名称属性的单选按钮,因此它基本上起到了数组的作用。正如您所看到的,这只是在该数组中运行,检查一个是否被选中,然后在一个被选中时提交表单,或者在一个未被选中时不提交表单。在所有其他浏览器中都能完美工作,但在IE中,即使选中单选按钮,它也不会提交。由于我只是在学习js,我不确定这其中的哪一部分是IE不支持的,也没有太多的运气在谷歌上搜索这个问题。有人知道为什么这在IE中不起作用吗?不要使用for..在列表中,使用标准for循环。在IE中,列表具有您不期望的其他可枚举属性:
var controls=document.forms[0].r;
对于控制文档中的var p。写“+p+”;