IE中的javascript问题-禁用字段
我是Javascript的初学者,我对IE有一个问题——它不能正常工作,但在chrome中,这段代码可以工作。谁能帮帮我吗 在IE 8中,问题在于,当值IncommingOrOutcomming=p和TypeOfMessage 10时,字段输入未被禁用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="
<%@ 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,但在HTMLdisabled=“”
将其设置为true。因此,请不要鼓励使用字符串来设置布尔值。
var com3 = document.getElementById('IncommingOrOutcomming');