Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE中的javascript问题-禁用字段_Javascript_Html Table - Fatal编程技术网

IE中的javascript问题-禁用字段

IE中的javascript问题-禁用字段,javascript,html-table,Javascript,Html Table,我是Javascript的初学者,我对IE有一个问题——它不能正常工作,但在chrome中,这段代码可以工作。谁能帮帮我吗 在IE 8中,问题在于,当值IncommingOrOutcomming=p和TypeOfMessage 10时,字段输入未被禁用 <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="

我是Javascript的初学者,我对IE有一个问题——它不能正常工作,但在chrome中,这段代码可以工作。谁能帮帮我吗

在IE 8中,问题在于,当值IncommingOrOutcomming=p和TypeOfMessage 10时,字段输入未被禁用

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> <script>

        function DAP() {
        var com1 = document.getElementById('form1:Input'); // It represent string input field 
        var com2 = document.getElementById('form1:TypeOfMessage');
        var com3 = document.forms[0].elements['form1:IncommingOrOutcomming'];

        if (com2.value == '10' && com3.value == 'P') {
        com1.disabled=true;
        }
    </script>    

        <table>
        <tr>                        
        <td><h:outputText value="#{bundle.txt_zpr}"></h:outputText></td>
        <td><h:selectOneRadio id="IncommingOrOutcomming" value="#{Bean.message}"onchange="DAP();" > 
        <f:selectItem id="item1" itemLabel="#{bundle.txt_prichotzi}" itemValue="P" />
        <f:selectItem id="item2" itemLabel="#{bundle.txt_odchozi}" itemValue="O" />
        </h:selectOneRadio></td>
        </tr>
        <tr>
        <td><h:outputText value="#{bundle.txt_zprava_typ}"></h:outputText></td>
        <td><h:selectOneMenu id="TypeOfMessage" value="#{Bean.typeOfMessage}" onchange="DAP();" >
        <f:selectItems value="#{HledejBean.typZpr}" />
        </h:selectOneMenu></td>
        </tr>
        </table>

函数DAP(){
var com1=document.getElementById('form1:Input');//表示字符串输入字段
var com2=document.getElementById('form1:TypeOfMessage');
var com3=document.forms[0]。元素['form1:IncommingOrOutcomming'];
如果(com2.value=='10'和&com3.value=='P'){
com1.disabled=true;
}
更换

var com3 = document.forms[0].elements['form1:IncommingOrOutcomming'];


Chrome和IE有不同的JavaScript引擎, 由于您只在IE中遇到问题,您可以尝试您的代码并按F12,然后查看Console选项卡中是否有任何错误,然后您可以在代码中看到问题。 我认为调试能力比解决方案本身更重要。
希望这有帮助!

com1.disabled='disabled';
?如果你想要一个具体的答案,请在你的问题中更加具体。什么版本的IE?什么类型的问题?你得到了什么?任何错误?你的html标签中的h:preffix是什么?disabled=true;在IE 11中工作得非常好。请提供一个JSFIDLE.net示例,你可以看到问题。@ps2goat禁用属性是布尔属性,因此属性应设置为
true
false
。使用字符串设置值可能会产生意外结果(例如
'
->
false
'false'
true
)@RobG disabled=“disabled”工作也很好。@香蕉HTML允许布尔属性的值满足HTML创作工具的要求,这些工具要求属性必须有值的XML语法。实际值是不相关的。注意
element.disabled='';
将属性设置为false,但在HTML
disabled=“”
将其设置为true。因此,请不要鼓励使用字符串来设置布尔值。
var com3 = document.getElementById('IncommingOrOutcomming');