在jQuery验证中单击提交按钮后没有集中输入
Not focused inputs after click submit button in jQuery validation
我有一个表单(通过ajax提交)
<form action="/Home/Contact" method="POST" id="form0" novalidate="novalidate">
<div class="form-group">
<label class="control-label" for="FullName">name</label>
<div class="row margin-bottom-20px">
<div class="col-md-7 col-md-offset-0">
<input class="form-control" data-val="true" data-val-required="please enter name" id="FullName" name="FullName" placeholder="name" type="text" value="">
</div>
</div>
</div>
<div class="form-group">
<label class="control-label" for="From">email</label>
<div class="row margin-bottom-20px">
<div class="col-md-7 col-md-offset-0">
<input class="form-control" data-val="true" data-val-email="please enter valid email" data-val-required="please enter email" id="From" name="From" placeholder="email" type="text" value="">
</div>
</div>
</div>
<div class="form-group">
<label class="control-label" for="Message">message</label>
<div class="row margin-bottom-20px">
<div class="col-md-11 col-md-offset-0">
<textarea class="form-control resize-vertical" cols="4" data-val="true" data-val-required="please enter message" id="Message" name="Message" placeholder="message" rows="4"></textarea>
</div>
</div>
</div>
<p>
<button type="submit" data-rel="submit" class="btn btn-primary" data-loading-text="loading..." data-ajax-submit="">send</button>
<button type="reset" class="btn btn-default">reset</button>
</p>
</form>
和javascript代码是:
$("[data-ajax-submit]").on('click', function (event) {
event.preventDefault();
var $button = $(this);
var $form = $button.closest('form');
var val = $form.validate();
val.form();
val.valid();
});
后提交表单,输入突出显示的jquery验证但输入not focused
,为什么?
注意:
当我删除event.preventDefault()
工作,但发送表单发送在正常的回发,而不是在ajax post.
也就是说,您阻止了默认行为,因此onfocus事件不会冒泡到文本框中。您可以做的是删除preventDefault()调用,并在单击处理程序结束时通过调用focus()
或return false;
您可以尝试在validate
方法中使用invalidHandler
:
$form.validate({
onfocusout: false,
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
validator.errorList[0].element.focus();
}
}
});
相关文章:
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 我如何集中输入'It’s从屏幕上滑进来
- 在输入未填充时将其集中
- 显示给定输入数字的数据集中字母表的所有可能组合
- 如何集中输入,并取消选择其中的文本
- 输入集中,但不可键入
- “map.getBounds()”结果在传单.js集中输入表单后更改
- 将下一个/上一个输入集中在达到最大长度或退格键上
- JQuery 查找集中输入的索引
- 将输入集中在模糊事件不起作用上
- 当输入集中在web应用程序上时显示键盘
- 如何在JavaScript中从字段集中读取输入字段
- AngularJS输入指令在模糊上应用和删除格式&集中
- 只有在没有输入集中的情况下,才将第一个输入集中在负载上
- 如何在不输入关键字的情况下将文本框集中在按键上
- Javascript/jQuery检测输入是否集中
- 防止集中在隐藏溢出区域的集中输入上
- 如何通过javascript或jquery将输入字段集中在Android浏览器上
- 当滚动到输入元素时,我可以集中输入元素吗
- 在jQuery验证中单击提交按钮后没有集中输入