防止表单在autosuggest上提交
Preventing form from submition on autosuggest
我有以下表格:
<form action="/web/projects/add" id="EventAddForm" method="post" accept-charset="utf-8">
<div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
<div class="input text">
<label for="AddressSearch">Search address</label>
<input name="adress_search" type="text" id="AddressSearch"/>
</div>
<div class="input text required">
<label for="EventAddress">Address</label>
<input name="data[Event][address]" type="text" id="EventAddress"/>
</div>
<div class="input text required">
<label for="EventPostNr">Post nr</label>
<input name="data[Event][post_nr]" type="text" id="EventPostNr"/>
</div>
<div class="input text required">
<label for="EventCity">City</label>
<input name="data[Event][city]" type="text" id="EventCity"/>
</div>
<div class="submit">
<input type="submit" value="Save"/>
</div>
</form>
前面提到的字段用于选择谷歌地图自动建议的地址,为了更好的可读性,我省略了该代码,但是当自动建议下拉菜单出现时,问题就出现了。如果用户通过键盘导航到其中一个建议并按下enter
,则提交整个表单。我有以下函数来防止表单在鼠标点击时提交:
jQuery('#EventAddForm').submit(function( event ) {
if ( $("#AddressSearch").is(":focus") ||
$("#EventPostNr").is(":focus") ||
$("#EventCity").is(":focus"))
event.preventDefault();
});
但是我想做的是防止表单上的enter
点击。
我缺乏一些jQuery知识,只是无法使它运行,所以任何帮助或指导都是非常感谢的。
指定所有字段并不是一个好主意,以防它们发生变化。
应该使用更通用的选择器。
jQuery('#EventAddForm').submit(function( event ) {
if ($(this).find('input:text:focus').length) event.preventDefault();
});
http://jsfiddle.net/KpXD3/尝试将此条件添加到if块中:
jQuery('#EventAddForm').submit(function( event ) {
if ( $("#AddressSearch").is(":focus") ||
$("#EventPostNr").is(":focus") ||
$("#EventCity").is(":focus") ||
event.which == 13) //13 is code for enter key
event.preventDefault();
});
相关文章:
- Javascript生成的表单未提交
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- HTML表单提交时未执行外部函数
- 在POST中将html表作为csv提交
- 我应该使用Ng提交还是点击表格
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 提交后保留下拉选择的值
- 键入最后一位数字后自动提交
- 阻止表单元素提交
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- Jquery提交表单而不刷新
- 将图像上传ajax与表单提交ajax相结合
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 自定义表单验证和提交
- 带有验证和隐藏字段值的提交按钮
- 如何在 API 调用后和 if 语句中启用提交按钮
- Jquery函数在错误的时间提交
- Javascript无法处理表单提交
- 提交按钮,该按钮位于使用 Excel VBA 的 Javascript 中
- 防止表单在autosuggest上提交