在Firefox中,表单元素是实时更新的,但在IE中却没有
Form Elements update in real-time in Firefox but in IE they don't
下面是我的代码:
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()" />
它检查'return'复选框是否被选中,如果是,它在我的表单中启用一些进一步的输入(它们最初是禁用的)。
这在Firefox中非常有效,并且可以立即完成,但在IE中,您必须单击文档中的空白区域才能更新。
我几乎到处都找遍了,想知道为什么会这样,但我什么也找不到。
如果有人能帮我,我将非常感激。
谢谢
您是否尝试将该函数附加到其他事件?比如使用onclick?
<input name="return" id="return" type="checkbox" value="return" onclick="transferq()" />
将onchange
改为onclick
。这应该在元素被点击的时候触发事件,而不是在它"改变"的时候。因为你已经在你的事件处理函数中检查了它是否被检查了,这应该以同样的方式工作。
还请注意,不是在函数中获得有问题的复选框,您可以使用this
:
<input name="return" id="return" type="checkbox" value="return" onclick="transferq(this)" />
然后在函数中使用该元素的引用:
function transferq(elem) {
if (elem.checked == true) {
...
}
}
最后,请注意,虽然没有必要使用分号,但在每行(if
语句内的每行)的末尾使用分号是一个好主意。
将您的字段名称从'return'更改为其他名称。'return'是javascript中的一个关键字,我在html形式中将关键字作为名称时遇到了问题。
相关文章:
- 列表样式在IE中未设置为none,但在IE中适用
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 为什么这个按钮在IE中有效,但在Firefox中无效
- 以下颜色更改功能在IE9和Firefox中运行良好,但在早期的IE或Chrome中则不然
- Javascript'元素'在ie中未定义,但在chrome和firefox中运行良好
- 获取所选选项的Javascript在Webkit/FF中有效,但在IE中无效
- javascript代码,用于删除firefox中的空白,但在IE和chrome中无法正常工作
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- jQuery代码在Firefox中工作,但在IE中失败
- Javascript正则表达式在IE中失败,但在Chrome和Edge中工作
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- 禁用字段在IE中有效,但在Firefox中无效
- jqGrid-在IE中产生SCRIPT5007错误,但在localhost上工作
- 为什么对img标记的前向引用在Chrome上失败,但在FireFox和IE上有效
- Date对象在Chrome中有效,但在Safari、Firefox或IE中无效
- ng-click在IE中不起作用,但在CHROME中工作正常
- 拖放文件时,dataTransfer.items属性在Firefox和IE中未定义,但在Chrome中未定义
- jQuery scrollTop没有'不能在FF或IE中制作动画,但在chrome中效果良好
- innerHTML=Date()在fiddle中工作,但在Chrome或IE中不工作
- Onchange,向上,向下箭头键适用于FF和Chrome,但在IE中不起作用