使用下面的HTML和Javascript代码,我发现在IE11和iOS上的Safari中,表单没有传递"选择"的值。单选按钮。使用alert()函数我可以看到"回答"是未定义的,在Chrone和Firefox中它具有预期值"对"或"错误"。
有没有人建议如何解决这个问题? 并且通过扩展:为什么它在IE和Safari中没有表现出来?
HTML:
<form>
<p><label><input type="radio" name="choice" value="right" />Choice One</label></p>
<p><label><input type="radio" name="choice" value="wrong" />Choice Two</label></p>
<p><input type="button" value="Check Answer" onclick="checkThing(choice.value)"></p>
</form>
使用Javascript:
function checkThing(answer){
if(answer == "right"){
//Show one thing
}
else if(answer == "wrong"){
//show another thing
}
}
答案 0 :(得分:0)
这有点令人费解,但你必须迭代才能在Internet Explorer中运行。
我添加了一个ID并从function checkThing(){
var answers = document.getElementById('myform').elements['choice'];
for(var i = 0; i < answers.length; i++) {
if (answers[i].checked === true) {
answer = answers[i].value;
}
}
alert(answer);
}
事件 - 工作(跨浏览器)版本中删除了参数:
<form id="myform">
<p><label><input type="radio" name="choice" value="right" />Choice One</label></p>
<p><label><input type="radio" name="choice" value="wrong" />Choice Two</label></p>
<p><input type="button" value="Check Answer" onclick="checkThing(choice.value)"></p>
</form>
<%@ OutputCache ... VaryByContentEncoding="gzip" %>