2013-08-19 68 views
0

我有一个保存按钮,并且最初当少数字段为空时,它仍然处于禁用状态。这在所有浏览器中工作正常,但不在IE10中。我已经尝试了很多事情来解决这个问题,但没有任何成效。任何帮助表示赞赏。按钮禁用在IE 10中不起作用

var numButtons = document.getElementsByTagName('button').length; 
for (var num = 0; num < numButtons; num++) { 

    var buttonName = document.getElementsByTagName('button')[num].innerHTML; 

    if (buttonName == "Save" && id == dialogName) { 
     document.getElementsByTagName('button')[num].disabled = true; 

     break; 
    } 
} 
+0

应将'dialogName'设置为'“dialogName”'。你是否使用同一个ID'作为多个按钮? – Vector

+1

对于我[它在IE 10中工作](http://jsfiddle.net/3JNFw/)可能在你的'if(id == dialogName)'中有一个错误 – Martin

+0

你是否使用任何JavaScript库(jQuery,ExtJS, BackbornJS)在你的代码?我建议在表单上听取提交事件并验证所有输入字段。如果验证失败,则返回false并显示错误,否则返回true并让表单提交给服务器。通过这种方式,你可能不需要提及javascript。 –

回答

2

在上面的代码中有一些未定义的变量。我假设他们如下,这是你的问题运行代码。

window.onload = function() { 
    var numButtons = document.getElementsByTagName('button').length; 
    for (var num = 0; num < numButtons; num++) { 

     var buttonName = document.getElementsByTagName('button')[num].innerHTML; 
     var id = document.getElementsByTagName('button')[num].getAttribute("id");; 
     if (buttonName == "Save" && id == "dialogName") { 
     document.getElementsByTagName('button')[num].disabled = true; 

     break; 
     } 
    } 
}; 

Js Fiddle

1

我不知道这是否是同样的问题,但我有,我想设置残疾人属性未在IE 10的工作问题原来它被禁用时我点击它,它只是没有改变风格,所以它仍然看起来启用。