Php 仅当jquery验证有效时才调用Ajax
我有一个表单和ajax调用。数据在表单中填充,并在使用ajax调用在我的数据库中创建用户的同时发送到远程。但问题在于验证,这里应该应用哪种验证 例如,我应用我需要的任何jquery验证来测试表单是否有效,然后如果表单有效,我可以调用ajax,否则数据库将填充空白数据 我尝试使用bvalidator,但我不知道如何使用任何jquery验证程序库来检测表单是否有效Php 仅当jquery验证有效时才调用Ajax,php,jquery,ajax,validation,Php,Jquery,Ajax,Validation,我有一个表单和ajax调用。数据在表单中填充,并在使用ajax调用在我的数据库中创建用户的同时发送到远程。但问题在于验证,这里应该应用哪种验证 例如,我应用我需要的任何jquery验证来测试表单是否有效,然后如果表单有效,我可以调用ajax,否则数据库将填充空白数据 我尝试使用bvalidator,但我不知道如何使用任何jquery验证程序库来检测表单是否有效 <form id="inform" action="http://site.com"> <input type="te
<form id="inform" action="http://site.com">
<input type="text" id="name" />
<input type="text" id="email" />
<input type="button" name="subaction" id="infuse" />
</form>
<script language ="javascript" type = "text/javascript" >
$na= jQuery.noConflict();
$na(document).ready(function(){
$na('#infuse').click(function(){
var name= $na('#name').val();
var email = $na('#email').val();
$na.ajax({
type: "POST",
url: '<?php bloginfo('template_url')?>/user_create.php',
data: 'name='+name+'&email='+email,
cache: false,
success: function(result){
jQuery('.err_msg').html(result);
jQuery("#inform").submit();
}
});
});
});
</script>
你可以这样做
<script language ="javascript" type = "text/javascript" >
$na= jQuery.noConflict();
var name;
var email;
var options10 = {
// shows or hides error all messages container after validation completes
onAfterAllValidations: function(elements, formIsValid){
// if validation failed
if(!formIsValid)
callAjax();
else{
//do something
}
}
};
function callAjax(){
$na.ajax({
type: "POST",
url: '<?php bloginfo('template_url')?>/user_create.php',
data: 'name='+name+'&email='+email,
cache: false,
success: function(result){
jQuery('.err_msg').html(result);
jQuery("#inform").submit();
}
});
}
$na(document).ready(function(){
$('#inform').bValidator(options10);
$na('#infuse').click(function(){
name= $na('#name').val();
email = $na('#email').val();
});
});
</script>
我还没有检查这个,但希望它能正常工作。重要的一点是,您可以使用回调:onAfterAllValidations。您的问题中似乎有输入错误。你真的想在电子邮件中将值存储在一个名为age的变量中,并且永远不再使用它吗?难道你不可能编写自己的验证,这样更适合你的应用程序吗?是的,我错了,我写的不是原始版本,但我所需要的只是在ajax调用之前验证表单是否有效,如果有效,请转到ajax进程。您希望运行什么样的验证?我使用jquey bvalidator。但我找不到如何检查表单是否有效。您好jquery验证使用输入类型submit,但当我在验证成功后使用它时,表单会提交,而我的ajax调用不会运行,所以什么应该这样做,因为之前我使用的是输入类型按钮,并在ajax调用后提交表单。