[英]How to get the sucess message in the same page after submitting the contact form?
[英]Submit same form to another page after the AJAX says sucess
我有一個通過AJAX驗證的表單,問題是在ajax給出響應1
它應該將相同的表單提交到同一頁面。 由於我使用了$('#bigform').submit()
,因此不允許我將表單提交給駐留在同一頁面上的PHP。
$(document).ready(function() {
$('#bigform').submit(function(event) {
var captcha_checks = $('#password_again').val();
$(this).validate();
if (!$(this).valid())
return false;
$.ajax({
type: 'post',
url: 'http://trigma.com/mobile-app-development/verify_captcha.php',
data: { captcha_checks: captcha_checks },
dataType: 'html',
success: function(data) {
if (data == 1) {
$('#bigform').submit();
}
if (data == 2) {
$('#captcha_error').text("Invalid Captcha! Please fill captcha carefully");
}
}
});
event.preventDefault();
});
});
您可以添加一個布爾變量,如下所示:
$(document).ready(function() {
var first = true;
$('#bigform').submit(function(event) {
if(first){
var captcha_checks = $('#password_again').val();
$(this).validate();
if (!$(this).valid())
return false;
$.ajax({
type: 'post',
url: 'http://trigma.com/mobile-app-development/verify_captcha.php',
data: { captcha_checks: captcha_checks },
dataType: 'html',
success: function(data) {
if (data == 1) {
first = false;
$('#bigform').submit();
}
if (data == 2) {
$('#captcha_error').text("Invalid Captcha! Please fill captcha carefully");
}
}
});
}
else
{
$('#bigform').submit();
}
event.preventDefault();
});
});
這是一件奇怪的事情,但是如果您必須使用單獨的函數,例如:
$(document).ready(function(){
function onSubmit(theElement){
var captcha_checks = $('#password_again').val();
theElement.validate();
if (!theElement.valid()) return false;
$.ajax({
type: 'post',
url: 'http://trigma.com/mobile-app-development/verify_captcha.php',
data: {captcha_checks:captcha_checks},
dataType: 'html',
success: function(data) {
if(data == 1){
onSubmit(theElement);
}
if(data == 2){
$('#captcha_error').text("Invalid Captcha! Please fill captcha carefully");
}
}
});
event.preventDefault();
}
$('#bigform').submit(function(event){
onSubmit($(this));
});
});
</script>
為什么不為SUBMIT按鈕設置click
事件處理程序呢?
$('#submit-btn').click(function(event){
event.preventDefault();
var form = $(this).closest('form');
$(form).validate();
if (!$(form).valid())
return false;
//...your AJAX call...
if(data == 1){
form.submit();
}
//...
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.