我想阻止表单提交..我的电子邮件已经存在.. 我正在使用隐藏变量'' 我的代码..
$.ajax({
url: link_url,
type: "post", //post is more secure
data: JSON.stringify(senddata), // JSON is format
headers: {'Content-Type': 'application/x-www-form-urlencoded'}, // for @ space and all
success: function(result){
if(result > 0){
document.getElementById("email_valid").className = "error";
document.getElementById('email_valid').innerHTML='Email already exist.';
var res=document.getElementById("dnsub").value;
if(res>0) {
flag=false;
}
else{flag=true;}
}
else{
document.getElementById("email_valid").className = "success";
document.getElementById('email_valid').innerHTML='Available';
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
})
是我的ajax代码 如何使用隐藏变量..
答案 0 :(得分:0)
根据我的理解,您正在检查表单提交中是否存在电子邮件地址。
而不是将输入类型更改为“提交”到“按钮”。
对于该按钮,请单击以编写事件。在按钮的Onclick中,检查电子邮件地址是否存在。
如果它存在向用户显示错误消息,则触发表单提交事件。
$("form").submit();
答案 1 :(得分:0)
您必须先阻止默认表单提交。然后在您的ajax调用的success
处理程序中提交表单。
$('#form_id').submit(function(e){
e.preventDefault(); // this will prevent form submission
$.ajax({
url: link_url,
type: "post", //post is more secure
data: JSON.stringify(senddata), // JSON is format
headers: {'Content-Type': 'application/x-www-form-urlencoded'}, // for @ space and all
context: this, // pointing to form submit
success: function(result){
if(result > 0){
document.getElementById("email_valid").className = "error";
document.getElementById('email_valid').innerHTML='Email already exist.';
var res=document.getElementById("dnsub").value;
}
else{
document.getElementById("email_valid").className = "success";
document.getElementById('email_valid').innerHTML='Available';
// the above two lines will be moot as the form will submit and page will get refreshed
this.submit(); // all good, submit the form
}
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
});