根据从<select>元素中选择的选项禁用不同的输入

时间:2016-08-19 08:58:27

标签: javascript jquery html forms

我正在创建一个联系我们表单,它应该承认多个文本输入,一个文本区域&amp;一个提交按钮。在此表单上方应该是一个下拉选项,在此示例中有三个选项我使用了'选择一个选项','选项1'和&amp; “选项2”。 我试图得到它,以便除非选择“选项1”,否则表单上的所有元素都将被禁用。因此,如果选择了其他2个中的任何一个,则用户不应访问该表单。 目前我已经设法弄清楚如何禁用一个输入,但另一个输入似乎没有相同的方式。这背后的原因是什么?另外我怎么能让它禁用其他元素? function checkOption(obj){     var input = document.getElementById(“input”);     input.disabled = obj.value ==“A”; } &lt; p&gt;联系我们表格&lt; / P&gt; &lt; select id =“menu”onChange =“checkOption(this)”&gt;     &lt; option value =“A”&gt;选择一个选项&lt; /选项&gt;     &lt; option value =“B”&gt;选项1&lt; / option&gt;     &lt; option value =“A”&gt;选项2&lt; / option&gt; &LT; /选择&GT; &LT峰; br&GT; &LT; p为H.名字&lt; / p&gt; &lt; input type =“text”id =“input”disabled&gt; &LT; p为H.第二个名称&lt; / p&gt; &lt; input type =“text”id =“input”disabled&gt; &LT; p为H.查询及LT; / p为H. &lt; textarea rows =“4”cols“50”id =“textarea”&gt; Lorem ipsum dolor sit amet,modo mucius eum, sanctus concludaturque qui no。 Stet esse intellegat no eam, nonume eligendi disputationi ad usu。 &LT; / textarea的&GT; &LT峰; br&GT; &lt; input type =“submit”value =“Submit”&gt;

2 个答案:

答案 0 :(得分:0)

首先删除重复的ID。

比你可以这样做

答案 1 :(得分:0)

试试这个:首先,不要对多个输入(元素)使用相同的id,使用class或name属性而不是id。 按名称获取所有元素,然后禁用 -

&#13;
&#13;
function checkOption(obj) {
    var input = document.getElementsByName("input");
    for(var i=0; i < input.length; i++) {
     input[i].disabled = !(obj.value == "B")
    }
}
&#13;
<p>Contact Us Form </P>

<select id="menu" onChange="checkOption(this)">
    <option value="A">Select An Option</option>
    <option value="B">Option 1</option>
    <option value="A">Option 2</option>
</select>

<br>
<p> First Name </p>
<input type="text" name="input" disabled>

<p> Second Name </p>
<input type="text" name="input" disabled>

<p>Enquiry</p>
<textarea rows="4" cols"50" id="textarea" name="input" disabled>
Lorem ipsum dolor sit amet, an modo mucius eum,
sanctus concludaturque qui no. Stet esse intellegat no eam,
nonumes eligendi disputationi ad usu.
</textarea>

<br>
<input type="submit" value="Submit" name="input" disabled>
&#13;
&#13;
&#13;