Javascript 表单元素在Firefox中实时更新,但在IE中它们不';T

Javascript 表单元素在Firefox中实时更新,但在IE中它们不';T,javascript,forms,internet-explorer,firefox,Javascript,Forms,Internet Explorer,Firefox,以下是我的代码: function transferq() { if (document.forms[0].elements['return'].checked == true) { document.forms[0].elements['returnhour'].disabled = false document.forms[0].elements['returnminute'].disabled = false document.forms[0].elements['returnday'].

以下是我的代码:

function transferq() {
if (document.forms[0].elements['return'].checked == true) {
document.forms[0].elements['returnhour'].disabled = false
document.forms[0].elements['returnminute'].disabled = false
document.forms[0].elements['returnday'].disabled = false
document.forms[0].elements['returnmonth'].disabled = false
document.forms[0].elements['returnyear'].disabled = false
document.forms[0].elements['returnflight'].disabled = false
document.forms[0].elements['samereturn'].disabled = false
}
}

<input name="return" id="return" type="checkbox" value="return" onchange="transferq()" />
函数transferq(){
if(document.forms[0].elements['return'].checked==true){
document.forms[0]。元素['returnhour']。disabled=false
document.forms[0]。元素['returnminute']。已禁用=false
document.forms[0]。元素['returnday']。已禁用=false
document.forms[0]。元素['returnmonth']。已禁用=false
document.forms[0]。元素['returnyear']。disabled=false
document.forms[0]。元素['returnflight']。已禁用=false
document.forms[0]。元素['samereturn']。已禁用=false
}
}
它检查是否选中了“return”复选框,如果选中,则在我的表单中启用一些进一步的输入(它们最初被禁用)

这在Firefox中非常有效,并且可以立即完成,但在IE中,您必须单击文档中的空白处才能进行更新

我到处都找遍了,想知道为什么会发生这种情况,但什么也找不到

如果有人能在这方面帮助我,我将不胜感激


谢谢

onchange
更改为
onclick
。这应该在单击元素时触发事件,而不是在元素“更改”时。由于您已经在检查是否在事件处理程序函数中检查了它,因此应该以相同的方式工作

还请注意,您可以使用
this
将其传入,而不是在函数中获取有问题的复选框:

<input name="return" id="return" type="checkbox" value="return" onclick="transferq(this)" />

最后,请注意,虽然没有必要使用分号,但最好在每一行的末尾使用分号,分号应该有一个(在
if
语句中的每一行)。

是否尝试将函数附加到不同的事件?喜欢用onclick吗

 <input name="return" id="return" type="checkbox" value="return" onclick="transferq()" />


将字段名从“return”更改为其他名称return'是javascript中的一个关键字,我在html表单中将关键字作为名称时遇到了问题。

这正是问题所在,即不喜欢'onchange','onclick'的工作方式很有魅力。非常感谢你!
 <input name="return" id="return" type="checkbox" value="return" onclick="transferq()" />