[英]validating and submitting form using jquery issue
我正在嘗試使用j-query提交表單,在提交表單之前應該進行一些驗證,並且我已經使用ajax驗證了capcha。 無需ajax驗證,一切正常。
<form id="RegistrationForm" name="RegistrationForm" method="post" action="save.php" >
jQuery代碼
$('#RegistrationForm').submit(function(){
//some validation goes here
if($('#captcha').val() != '')
{
var captcha = $('#captcha').val();
$.ajax({
url:'validate.php',
type:'POST',
data:{captcha:captcha},
success: function(data){
if(data == 'false')
{
alert('Wrong Captcha is typed!');
return false;
}
else
{
alert('enter');
document.getElementById("RegistrationForm").submit();
return true;
}
}
});
}
});`
提交表單時,它顯示警報“輸入”,但表單未提交。 提前致謝。
您可能需要將變量更改為JSON,以查看如何從php檢索。 如果那不是解決方案,請嘗試
if (data){
}else{
}
僅供參考,這不是jquery驗證。 jQuery驗證是一個庫,用於確保在提交之前正確設置了正確的字段。 提交后,驗證碼(Captcha)是否正確將測試您所做的工作。
嘗試這樣的事情
$(function(){
$('#RegistrationForm').submit(function(){
if($('#captcha').val() != ''){
var captcha = $('#captcha').val();
$.ajax({
url:'validate.php',
type:'POST',
async:false,
data:{captcha:captcha},
success: function(response){
if(response == 'false')
{
alert('Wrong Captcha is typed!');
return false;
}
else
{
alert('enter');
return true;
}
}
});
}
});`
})
嘗試使Ajax同步
$.ajax({
url:'validate.php',
type:'POST',
async: false,
data:{captcha:captcha},
success: function(data){
if(data == 'false')
{
alert('Wrong Captcha is typed!');
return false;
}
else
{
alert('enter');
document.getElementById("RegistrationForm").submit();
return true;
}
}
});
我認為問題是,每次您再次從commit調用時,ajax請求都返回false以外的值時,我想每次它都調用Submit函數時,但無法成功提交。 因為它以遞歸方式調用Submit函數。
嘗試
$('#RegistrationForm').submit(function(){
//some validation goes here
if($('#captcha').val() != '')
{
var captcha = $('#captcha').val();
$.ajax({
url:'validate.php',
type:'POST',
data:{captcha:captcha},
success: function(data){
if(data == 'false')
{
alert('Wrong Captcha is typed!');
return false;
}
else
{
alert('enter');
}
}
});
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.