[英]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.