为了我的目的,jQuery验证有点臃肿,所以我找到了Happy.js。不幸的是,只有在使用提交按钮时才会触发验证,而我没有这个按钮。jQuery--验证提供了一个函数"form()“以编程方式触发验证,所以我尝试将函数实现到Happy.js中,但没有成功。我找到了一个愉快的回调实现(提交),但这也不起作用。
一些代码(更新了):
$('#someFormSubmit').click(function() {
$('#someForm').submit();
});
$('#someForm').submit(function(event) {
event.preventDefault();
var jqxhr = $.post('/some', $('#someForm').serialize())
.success(function(response) {});
});
$("#someForm").isHappy({
fields: {
'#name': {
required: true,
message: "Hello"
},
},
testMode: true,
unHappy: function () { alert("hello"); },
});从回调中没有任何警告,当它应该是假的时候,“高兴”总是正确的。
该表单位于twitter引导模式框中。由于模态体和模态页脚的分离,只有一个链接.btn要提交,而不是一个合适的输入type=submit。
有什么解决办法吗?
发布于 2012-02-15 16:42:21
试着做这样的事情:
// Remember to do all your happy validation stuff first, to ensure that jQuery
// fires off the events in the correct order.
$("#yourForm").isHappy({
// your validation config
});
$("#yourForm").submit(function (event) {
// This line prevents the form from actually being submitted
event.preventDefault();
// You can then define your actions however you like
$.post({
// your config here
});
});
// When it's time to "submit" the form, it's easy
$("#yourForm").submit();我还没有在happy.js上测试过这一点,但是它也应该触发验证。
更新:这是我的小提琴。它证明了它是有效的(尽管如果您检查一下小提琴,您将看到对这段代码的一些修改)。不过,我不知道为什么这些字段不能在模糊上进行验证。这应该是开箱即用的happy.js,所以如果您有这个问题,您可能需要向作者发布一个问题。
发布于 2012-02-15 16:33:47
来自HappyJS
Happy.js现在将验证模糊事件上的单个字段和提交中的所有字段。
模糊事件的验证还不够吗?
尝试将您的HTML代码和您正在使用的JS编写到一个小提琴中,这样会更容易获得帮助。
但是,如果您只想在单击某个按钮/元素时激活验证,只需将jQuery选择器设置为submitButton函数参数中的变量submitButton即可。
发布于 2012-02-15 16:35:33
您试过使用submitButton选项吗?
来自http://happyjs.com/的官方文档
submitButton (string):如果您将jQuery选择器传递给它,则在单击该项而不是在提交时验证表单。
https://stackoverflow.com/questions/9297033
复制相似问题