我有一个带有ID hello的HTML表单
我有像这样的ajax
jQuery(document).ready(function($) {
$("#hello").submit(function(){
var $form = $(this);
var serializedData = $form.serialize();
request = $.ajax({
url: "/blog/ajaxphp/registration_check.php",
type: "post",
data: {formData:serializedData},
datetype: "JSON"
});
request.done(function (response, textStatus, jqXHR){
console.log("hellosss");
if(jQuery.parseJSON(response).success==undefined){
$form.unbind('submit').submit();
}else{
return false;
}
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.log("error");
});
return false;
});
});
但是“提交”按钮无效。我的意思是如果我按两次就行了..
记录此
未捕获的TypeError:对象不是此行中的函数$ form.unbind(' submit')。submit();
问题:
jQuery.parseJSON(response).success==undefined
为true,我如何使表单启用提交,否则禁用要提交的表单。答案 0 :(得分:4)
$("#hello").submit(function(){
return false; <-- You are exiting the function right away
//nothing runs here
使用evt.preventDefault();
$("#hello").submit(function(evt){
evt.preventDefault();
或者如果你真的想要使用return,那么它就是BOTTOM。
异步Ajax调用中的return false
也不做任何事情。从异步调用中返回任何内容都是不可能的。
修改
你有一个错字
if(jQuery.parseJSON(response).sucess==undefined){ <-- that is not how you spell `success`
Double Edit,看看是否将其分成两部分。
$form.unbind('submit');
$form.submit();