MFB*_*MFB 6 html css google-chrome
除非style="display:none"
从template=row
div中删除,否则此表单上的"提交"按钮不会执行任何操作.为什么??
(name
每个表单控件的部分由javascript动态填充,但是,为了简化故障排除,我运行了没有javascript的表单,问题归结为该display
标签是否存在).
这就是Chrome控制台所说的:
bundleAn invalid form control with name='' is not focusable.
bundleAn invalid form control with name='label' is not focusable.
bundleAn invalid form control with name='unique' is not focusable
Run Code Online (Sandbox Code Playgroud)
HTML:
<form method="POST" action="/add/bundle">
<p>
<input type="text" name="singular" placeholder="Singular Name" required>
<input type="text" name="plural" placeholder="Plural Name" required>
</p>
<h4>Asset Fields</h4>
<div class="template-view" id="template_row" style="display:none">
<input type="text" data-keyname="name" placeholder="Field Name">
<input type="text" data-keyname="hint" placeholder="Hint">
<select data-keyname="fieldtype" required>
<option value="">Field Type...</option>
</select>
<input type="checkbox" data-keyname="required" value="true"> Required
<input type="checkbox" data-keyname="search" value="true"> Searchable
<input type="checkbox" data-keyname="readonly" value="true"> ReadOnly
<input type="checkbox" data-keyname="autocomplete" value="true"> AutoComplete
<input type="radio" data-keyname="label" value="label" name="label" required> Label
<input type="radio" data-keyname="unique" value="unique" name="unique" required> Unique
<button class="add" type="button">+</button>
<button class="remove" type="button">-</button>
</div>
<div id="target_list"></div>
<p><input type="submit" name="form.submitted" value="Submit" autofocus></p>
</form>
Run Code Online (Sandbox Code Playgroud)
原因似乎是HTML 5 约束验证 -这是require
属性。Chrome已开始使用其最新版本来支持此功能。
显然这是一个向后兼容性问题,但您可以通过设置“ formnovalidate
提交”按钮的属性来解决此问题。
我认为这实际上是一项安全功能,它通过提交操纵的隐藏内容来阻止提交假定的用户数据,此引号指向该方向:
如果未呈现其中一个控件(例如,已设置隐藏属性),则用户代理可能会报告脚本错误。
您的输入是类型的text
,因此它们的目的是让用户输入数据,在隐藏的状态下提交其内容是用户可能不希望的。
如果您仍想在使用客户端验证时提交隐藏的输入,我建议<input type="hidden">
改用-我可以想象那里的验证没有错误,因为它们是不可见的。
归档时间: |
|
查看次数: |
8517 次 |
最近记录: |