使用Javascript禁用输入字段

时间:2017-01-04 22:10:15

标签: javascript jsf

当其他输入字段(实例字段B)中的值大于0.00时,我尝试禁用一个输入字段(实例字段A)。

脚本

function disableFields(){

var b = document.getElementById("B").valueOf();

if(b == 0){
document.getElementById("A").disabled=false;

}else{
document.getElementById("A").disabled=true;
}

JSF代码

<h:inputText id="B" value="" onkeydown="disableFields();">
<f:convertNumber type="number" groupingUsed="true" minFractionDigits="2" pattern="#0.00"/>
<a4j:ajax event="valueChange" execute="@this" render="A, messagePanel" />
</h:inputText>
</rich:column>

<h:inputText id="A" value="">
<f:convertNumber type="number" groupingUsed="true" minFractionDigits="2" pattern="#0.00"/>
<a4j:ajax event="valueChange" execute="@this" render="A, messagePanel" />
</h:inputText>
</rich:column>

2 个答案:

答案 0 :(得分:1)

使用value属性获取input元素的值。

function disableFields(){
  var b = parseFloat(document.getElementById("a").value);
  if(b > 0){
    document.getElementById("b").disabled=true;
  }else{
    document.getElementById("b").disabled=false;
  }
 }
<input type="number" id="a" onkeyup="disableFields();">
<input type="number" id="b">

答案 1 :(得分:0)

如果你想在JS中获得输入的值,这就是:

document.getElementById("searchTxt").value

现在当你试图检查if语句时,我强烈建议在比较之前进行转换以避免任何不需要的行为(这是JS世界):

var value = document.getElementById("B").value;
if(!!value && parseInt(value, 10) > 0) {
   //do stuff here
   document.getElementById("A").disabled = true;
} else {
   //other stuff here
   document.getElementById("A").disabled = false;
}