未执行Ajax隐藏表单提交验证
Ajax submit in hidden form validation not executed
我有以下情况:
我有一个按钮。单击后,将显示一个隐藏的表单和提交按钮。该表单使用jQuery Validation插件进行验证。在提交处理程序中,我希望使用Ajax提交表单。我的问题是,我在提交处理程序中编写的代码似乎无法执行。
HTML页面:
<div class='col-md-9'>
<div class='media-body'>
<form id='accountForm'>
<div class='input-group'>
<div class='input-group-addon'>
First name:
</div>
<input class='form-control' type='text' name='firstName'>
</div>
<!--- some more inputs --->
</form>
</div>
</div>
<div class='col-md-3'>
<div class='btn-group btn-group-vertical'>
<!--- some buttons --->
<button id='saveButton' class='btn' type='submit' form='accountForm'>
</div>
</div>
JavaScript文件:
$(document).ready(function() {
$('#accountForm').hide();
$('#saveButton').hide();
$('#editInfoButton').on('click', function() {
$('#accountForm').show();
$('#saveButton').show();
});
$('#accountForm').validate({
rules: //some rules
submitHandler: function(form) {
$.ajax({
type: 'POST',
url: '/account/profile',
data: $(form).serialize(),
success: function(data, status, jqXHR) {
//some stuff
}
});
return false;
}
});
});
当我点击提交按钮时,没有向/account/profile
发送POST
-请求,而是向/account?firstName=...
发送GET
-请求。我真的不明白为什么这不起作用。
所以这个问题有一个不错的答案:
用户Jack hardcastle的评论解决了问题中描述的我的情况。
愚蠢的问题可能是:如果您在表单标签中声明POST,会发生什么?AJAX请求的类型是POST,但是表单仍然没有定义操作/方法,因此表单执行仍然遵循这些操作/方法。
需要注意的是,与Sparky一样,并非所有浏览器都支持form
属性,包括IE。
相关文章:
- 如果ng单击附加到提交按钮,则表单未验证
- Magento表单验证,表单提交时没有有效字段
- 表单验证不起作用,并阻止表单提交
- 'Alajax' Jquery 简单表单提交.如果表单未经验证,如何防止提交
- 未执行Ajax隐藏表单提交验证
- 验证失败时阻止表单提交(Angular Material)
- jQuery验证插件停止表单提交,提交按钮获胜'不起作用
- angular js如何在提交一个表单时验证另一个表单
- 在表单提交中,在Codeigiiter验证之前先进行jquery检查
- 验证数组文件字段的表单提交
- 使用js表单验证器禁用html表单提交按钮
- 验证表单阻止表单提交
- AngularJS:在异步验证器完成之前阻止表单提交
- 引导验证不适用于表单提交
- 验证电子邮件时无法阻止表单提交
- JavaScript表单提交验证会干扰其他提交按钮
- HTML表单提交验证没有't为JS函数工作
- 仅将 jQuery 表单提交验证应用于 2 个提交按钮中的 1 个
- Redux表单提交验证不设置错误消息
- 表单提交验证动态下拉列表数