在下拉列表中使用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,这将改变相应输入的状态/可见性,则需要Firefox强制所有必需的输入填充。
有没有人经历过这个和/或对如何使用jQuery有效管理这个有一些想法? 提前感谢您的任何想法和帮助。
答案 0 :(得分:2)
即使是“隐藏”的字段也会提交。因此,如果它们被标记为“必需”,它们将导致验证失败。规范对此很清楚。
您可能希望将它们设置为不需要,或者在隐藏它们时将它们设置为禁用,具体取决于您是否确实希望它们以未设置状态提交。