如何在javascript中验证禁用的文本框

时间:2014-11-17 14:02:39

标签: javascript

我有一个文本框和两个单选按钮是和否。当我单击是时,文本框将变为启用,当我单击时,没有文本框将变为禁用。现在我的问题是,当我点击是,文本框应该验证,请输入金额。如果我点击否,它不应该要求验证我该如何实现?如何测试文本框是否启用?并基于该javascript工作。

3 个答案:

答案 0 :(得分:1)

试一下

var elm=document.getElementById("yourInputFieldId");
if (elm.disabled==false) {
    //add your required filed validation code here..
}

答案 1 :(得分:1)

使用onchange事件单击单选按钮时禁用文本框,并检查验证方法是否禁用文本框。

function disableTextbox(){
    if(document.myform.disableMe.value=="yes"){
       document.getElementById('amount').disabled=true;
       alert("Dont validate");
    }else if(document.myform.disableMe.value=="no"){
        document.getElementById('amount').disabled=false;
       
        alert("Validate");
    }
}

function validate(){
    var amt=document.getElementById('amount');
     if(!amt.disabled && amt.value==""){
          alert("Please enter some value");
          return false;
     }else{
       
          alert("Success");
          
     }
     
}
<form name="myform" action="#">
<input type="text" id="amount">
  <input type="radio" name="disableMe" onchange="disableTextbox()" value="yes">
  <input type="radio" name="disableMe" onchange="disableTextbox();" value="no">
    
  
  <button onclick="validate();">Validate</button>
    </form>

答案 2 :(得分:0)

<html>
<head>
<script type="text/javascript">
 function validate(){
  var inp=document.getElementById('amount');
  inp.disabled=false;
  if (inp.value.length==0)
    alert("Please enter the amount!");
 } 
 function disable_inp(){
  var inp=document.getElementById('amount');
  inp.disabled=true;
 } 
</script>
</head>
<body>
<div>
 <form>
  <input type='radio' name='a' onchange='validate();' value='yes' />
  <input type='radio' name='a' onchange='disable_inp();'value='no' />
  <input type='text' name='amount' id='amount' />
 </form>
</div></body>
</html>