我遇到了一些问题。我有一个表单,我在系统中映射表单的字段。表格的按钮会自动发出像这样的onclick事件
window.location='http://www.something.com/test.html?vs=ZWJhMDAzMzktMTNkYi00ODRkLTgxYmQtNjQwYTU5MDIyZWE3OzA6ODc5NjY2NzoxMjg2NzUyNDM3NDI6OTAxNzM0MzA1OjkwMTczNDMwNTsS1'
它添加了一个需要的vs变量。问题是我需要表单有一个输入类型按钮,而不是提交。我正在使用JQuery验证,我有这个来触发表单提交
$("#btn-default2").click(function() {
$("#myform").submit();
});
现在问题是,由于onclick事件,验证会快速触发,然后onclick事件会重定向。如果表单有效,我只想要这个重定向。有没有办法停止事件onclick,并将其移动到我的函数中,我检查表单是否有效?
由于
答案 0 :(得分:0)
针对您的问题的程序性答案,
var btn = $("button.validate");
var x = btn.attr("onclick"); //get the onclick and store it in a variable.
btn.attr("onclick", ""); //remove the onclick attribute for that button
btn.click(function() {
//Now do validations for your button.
if ($("input[type='text']").val() == "10") {
eval(x); //If the form fields passed the validation
//then trigger the redirect using eval
}
});
答案 1 :(得分:0)
如果你想利用jquery验证插件,那么你应该尝试使用提交处理程序。
submitHandler
是插件中内置的回调函数。当表单有效时,回调处理实际提交。获取表单作为唯一参数。替换默认提交。
$("form").validate({
submitHandler: function(form) {
}
});
答案 2 :(得分:-1)
$("#btn-default2").click(function(){
$(this).off("click");
});