Javascript 传递到JS函数中的参数为;“未定义”;关于IE和Safari
通过下面的HTML和Javascript代码,我发现在iOS上的IE11和Safari中,表单没有传递“choice”单选按钮的值。使用alert()函数,我可以看到“answer”是未定义的,而在Chrone和Firefox中,它的预期值是“right”或“error” 有人对如何解决这个问题有什么建议吗? 进一步说:为什么它的行为不像我在IE和Safari中预期的那样 HTML:Javascript 传递到JS函数中的参数为;“未定义”;关于IE和Safari,javascript,html,forms,internet-explorer,safari,Javascript,Html,Forms,Internet Explorer,Safari,通过下面的HTML和Javascript代码,我发现在iOS上的IE11和Safari中,表单没有传递“choice”单选按钮的值。使用alert()函数,我可以看到“answer”是未定义的,而在Chrone和Firefox中,它的预期值是“right”或“error” 有人对如何解决这个问题有什么建议吗? 进一步说:为什么它的行为不像我在IE和Safari中预期的那样 HTML: 这有点复杂,但您必须迭代才能在Internet Explorer中工作 我在下面的onclick事件处理(跨浏览
这有点复杂,但您必须迭代才能在Internet Explorer中工作 我在下面的
onclick
事件处理(跨浏览器)版本中添加了一个id并删除了参数:
函数checkThing(){
var answers=document.getElementById('myform').elements['choice'];
对于(变量i=0;i
选择一
选择二
IE似乎没有将名字注册为globals,但Firefox和Chrome却注册为globals,只是猜测而已
<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>
function checkThing(answer){
if(answer == "right"){
//Show one thing
}
else if(answer == "wrong"){
//show another thing
}
}