- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 jQuery Validate 来阻止我的 ajax 表单在三个字段包含数字以外的任何字符时提交。显然我做错了什么,但我看不出是什么。
编辑:似乎有两个错误。我的验证规则使用字段 ID 而不是字段名称。但是,解决该问题后,表单仍然意外地验证..
这是我的 jQuery 代码:
(function() {
$(document).ready(function() {
formSubmits();
/**
* Handles all the form submits that go on.
* This is primarily the ID search and the form submit.
*/
function formSubmits() {
/*** SAVE RECIPE ***/
// validate form
$("#category-editor").validate({
rules: {
"time-prep": {number: true}, /* not sure why validation doesn't work.. */
"time-total": {number: true}, /* according to this, it should: http://goo.gl/9z2odC */
"quantity-servings": {number: true}
},
submitHandler: function(form) {
// submit changes
$.getJSON("setRecipe.php", $(form).serialize() )
.done(function(data) {
// de-empahaize submit button
$('.footer input[type=submit]')
.removeClass('btn-primary')
.addClass('btn-default');
});
// prevent http submit
return false;
}
});
}
});
})(jQuery);
这是当我在submitHandler 中放置断点时在检查器中看到的内容。尽管输入错误(值是“dsdfd”而不是“123”),它还是到达了submitHandler
这是相关标记:
<form id="category-editor" class="form-inline" method="get">
....
<div class='form-group'>
<div>
<label for="time-prep">Prep time (min):</label>
<input value="" id="time-prep" name="activeTime" class="form-control min-calc jqValidateNum" data-calc-dest="time-prep-desc" type="number">
<input value="" id="time-prep-desc" name="activeTimeDesc" class="form-control subtle" type="text">
</div>
</div>
<div class='form-group'>
<div>
<label for="time-total">Total time (min):</label>
<input value="" id="time-total" name="totalTime" class="form-control min-calc jqValidateNum" data-calc-dest="time-total-desc" type="number">
<input value="" id="time-total-desc" name="totalTimeDesc" class="form-control subtle" type="text">
</div>
</div>
<div class='form-group'>
<div>
<label for="quantity-servings">Servings:</label>
<input value="" id="quantity-servings" name="servings" class="form-control jqValidateNum" type="number">
</div>
</div>
....
</form>
最佳答案
您已使用 <input>
的“id”值设置了规则。元素而不是它们的“名称”值。应该是:
rules: {
"activeTime": {number: true},
"totalTime": {number: true},
"servings": {number: true}
},
编辑 - 现在您已经解决了这个问题,我认为问题在于输入元素的“value”属性为空,因为您已将它们声明为 type=number
。 Firefox 和 Chrome 允许您在字段中输入任何内容,但除非字段确实包含数字,否则它们不会有非空值。
如果您也将字段标记为必填,那么它就可以工作。 fiddle
关于javascript - jQuery Validate 似乎将无效表单传递给submitHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23681207/
当使用 jQuery SubmitHandler 方法时,我通过 ajax 将表单数据发布到服务器。成功后,将调用另一个方法来调整弹出窗口的大小并通知用户其全部完成。 但是,我的问题是,在发布数据时,
我正在加载一个对话框,其中包含使用 Bootbox.js 即时构建的表单。我正在使用 jQuery 验证插件验证用户输入。 验证工作正常,但当表单填写成功时,submitHandler 会被忽略。 出
我将微调器放置在我的提交处理程序中,紧跟在我的验证消息之后...我只希望它在 ajaxSubmit 期间处于事件状态,因此将它放在 JSON 之前似乎很自然。但是 jQuery 提示 *“未捕获的语法
我正在使用 jQuery 插件对一个 ajax 调用进行验证。 目前我有这个: $("#invoiceForm").validate({ rules: { plateNumbe
我正在使用 asp.net mvc 3 客户端验证。我试图在提交任何表格之前做一些事情。我发现 JQuery 的验证有一个submitHandler,这似乎是我正在寻找的,但我在语法上遇到了问题。 我
我对多个页面使用mainSubmitHandler,如果需要,我愿意将其定义为全局变量。但是,mainSubmitHandler 需要进行一些调整,我使用 subSubmitHandler 来处理这个
我开发了一个表单,根据 ajax 请求的答案放置可见字段和必填字段。最初,submitHandler 被毫无问题地触发,但在对代码(仅 js 部分)进行一些编辑后,似乎不再触发,并且它直接进入提交事件
这个问题已经有答案了: Jquery validation not working with ckeditor (12 个回答) 已关闭 9 年前。 嗨,我用过jQuery Validation在提交
我有一个带有两个按钮的表单 a) 测试 - 单击按钮时调用 javascript 函数来验证几个凭据。 b) 创建 - 单击按钮时调用 javascript 函数来保存表单。 @Messages("p
您好,我遇到了以下问题,我的以下代码对我不起作用,我也不知道为什么。我希望你们能帮助我。 编辑:提交处理程序根本不会被调用。我什至没有收到警报消息。在验证表单之前,我想禁用提交按钮。 $('f
这是我用于 submitHandler 的代码: submitHandler: function() { $('.holder').fadeOut('slow'); $('#loading').f
我正在使用JQuery Form Plugin ,JQuery validation plugin和 jqTransform 插件。 我有一个隐藏的表单,我可以通过它来添加或编辑内容。编辑或添加操作会
我有一个表单需要一些验证后警告。这个概念很简单,这些值是允许的,但超出了正常范围。处理这个问题的方式是在验证提交处理程序中: $('form').validate({ highlight: f
我有一个表单,正在尝试使用 JQuery Validate 进行验证,效果很好。单击提交按钮时,submitHandler 应 1. 禁用该按钮(以防止多次提交)并 2. 更改按钮文本。 按原样,代码
我遇到了使用 jQuery 验证插件 1.9.0 验证 HTML 表单的情况。 (我使用的是 jQuery 1.6.4)。如果页面加载后表单填写正确,则提交时会进行验证。验证会给出成功消息,但不会触发
这是 jQuery 提交表单代码。我想知道的是如何使用submitHandler 提交表单。提前致谢。 submitHandler: function(form) { // do other
我正在探索 backbone.js,我正在尝试设置简单的登录页面。这是我的 view.js 文件: window.LoginView = Backbone.View.extend({ ev
我正在将联系表单转换为 AJAX,以便执行成功功能。现在代码在 submitHandler 部分停止,说它是未定义的。我的 submitHandler 怎么没有定义? submitHandler(函数
我有以下表格: {% csrf_token %} 我想验证表单,然后通过 Ajax 发送该表单中的数据以供进一
我有一个 HTML 表单 还有一段jQuery代码: $(document).ready(function(){ var validator = $("#myform"
我是一名优秀的程序员,十分优秀!