如何在隐藏控件时禁用单选按钮中的必填字段?

时间:2016-08-27 13:39:30

标签: javascript html

如何在禁用时禁用显示/隐藏按钮内容? 因为即使它被隐藏,也需要填写这些字段。

这是我的代码:

<script type="text/javascript">
    function ShowHideDiv() {
        var chkYes = document.getElementById("chkYes");
        var dvPassport = document.getElementById("dvPassport");
        dvPassport.style.display = chkYes.checked ? "block" : "none";
    }
</script>

<span></span>
<label for="chkNo">
    <input type="radio" id="chkNo" name="bill" value="Billable" onclick="ShowHideDiv()" />
   Billable
</label>
<label for="chkYes">
    <input type="radio" id="chkYes" name="bill" value="Non-Billable" onclick="ShowHideDiv()" />
    Non-Billable
</label>
<hr />
<div id="dvPassport" style="display: none">
    Firm Expense Code:
	<select name="FEC" id="txtPassportNumber" > 
  <option selected> 
    --------
  </option> 
  <option> 
    Firm expence-non-billable client Travel 8970100
  </option> 
  <option> 
    Firm expense Travel-Marketing 8970205 Personal Travel
  </option> 
 
 </select>

2 个答案:

答案 0 :(得分:1)

您可以在显示所需属性时或在需要时添加所需属性。

document.getElementById("edName").required = true;

所以在没有要求的情况下开始,当人们显示/隐藏某些内容时添加它。

回答这个问题。

How to set HTML5 required attribute in Javascript?

希望这有帮助。

答案 1 :(得分:0)

您可以检查单选按钮的显示样式,如果没有,则将required属性设置为false,否则将其设置为true。

var radioBtns = document.querySelectorAll('[input type="radio"]');

radioBtns.forEach( function (item){
    item.getElementById("edName").style.display === 'none' ? item.getElementById("edName").required = none : item.getElementById("edName").required = true;
});

更新

这适用于所有单选按钮

<iframe src="https://translate.google.com.eg" id="myframe"></iframe>