我正在尝试创建一个不提交的jQuery表单,直到通过验证(我是新学员)但是我从控制台收到此错误:未捕获TypeError:$(...)。unbind is不是一个功能
$("form").submit(function(e){
e.preventDefault();
var error = "";
//MY VALIDATION CODE HERE
if(error != "") {
$("#error").html('Please check the following error(s)' + error);
} else {
$("form").unbind("submit").submit(); <<< CONSOLE ERROR HERE
}
});
答案 0 :(得分:4)
我相信这将是jQuery版本的问题。如果您正在使用Rob Percival的CompleteWebDev课程,那么该视频尚未更新(在撰写本文时)以解决此问题。
.bind / .unbind现在已经过时了,在我写作时你应该使用.on / .off。
使用下面的代码,现在应该可以使用:
$( “表”)关闭( “提交”)提交();
答案 1 :(得分:0)
我的代码无法运行,后来我了解到jQuery .bind / .unbind方法已被弃用,为了解决这个问题,我在IF中移动了e.preventDefault();
所以我不会调用它,除非验证失败然后我删除了整个解体部分。
答案 2 :(得分:0)
我们也可以避免使用e.preventDefault();或$(&#34;表格&#34;)。off(&#34;提交&#34;)。submit();通过返回true和false;
<script type="text/javascript">
$("form").submit(function (e){
// e.preventDefault();//jQuery, it prevent the default action of the event
var error = "";
if($("#email").val() == ""){
error += "The email field is required.<br>";
}
if($("#subject").val() == ""){
error += "The subject field is required.<br>";
}
if($("#content").val() == ""){
error += "The content field is required.";
}
if(error != ""){
$("#error").html('<div class="alert alert-danger" role="alert">' +
'<p><strong>There were error(s) in your form:</strong></p>'+ error +
'</div>');
return false;
}else{
return true;
}
});