【发布时间】:2012-11-19 00:51:12
【问题描述】:
在下拉列表中使用 jQuery 来根据下拉选择显示/隐藏文本输入字段会导致 Firefox 出现奇怪的行为,在填充所有“必填”字段之前不允许提交表单,即使这些必填字段是基于隐藏的在从下拉列表中选择时,或者可以说,它们实际上是不活动的。
Safari,只是忽略不可见的“必填”字段,只检查活动(可见)的必填字段,如果这些都填写了,就可以提交表单了。
我试图四处寻找任何出现的情况和可能的解决方案,但似乎没有找到。
例子:
<select id="theselect" name="something">
<option value="1" selected>One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<input type="text" name="one" required="required" class="show" />
<input type="text" name="two" required="" class="hide" />
<input type="text" name="three" required="required" class="hide" />
在上面的例子中,考虑到输入 2 和 3 是隐藏的,但如果选择更改为 2 或 3 则需要,这将改变相应输入的状态/可见性,Firefox 强制所有需要的填充。
有没有人经历过这个和/或知道如何使用 jQuery 有效地管理这个? 提前感谢您对此的任何想法和帮助。
【问题讨论】:
-
在切换显示的同时使用
prop()方法切换required
标签: jquery forms validation firefox show-hide