[英]Jquery Ajax and Scriptaculous Form Validation
我有一个使用脚本形式验证的表单,但是我正在使用jquery ajax。 在添加ajax之前,表单验证工作正常。 一旦我添加了ajax,就好像表单不再有效。 Ajax只是对表单进行校验而不进行任何验证。 就像验证只是被ajax绕过了。
<script type="text/javascript">
jQuery('form').delay(3000).submit(function() {
string = jQuery("form").serializeArray();
jQuery.ajax({
type: "POST",
url: "../script_insert.php",
data: string,
dataType: "html",
success: function(html){
jQuery('#Right_Content').hide().html(html).fadeIn("slow");;
}
})
return false;
});
</script>
但是,当我一起从页面中删除Ajax时,它的效果很好。 该页面验证。 谁能告诉我如何确保在ajax提交之前进行表单验证。 我尝试了jquery延迟,但这也不起作用。 谢谢。
为什么不添加验证作为.submit()
的第一件事? 这样,无论有多少个表单字段都具有焦点,您都可以确保表单已通过验证。
jQuery('form').submit(function() {
if (validate()) {
string = jQuery("form").serializeArray();
...
} else {
return false;
}
});
url="../script_insert.php"
使用完整路径"url="http://www.yoursite.com/script_insert.php"
2.听起来您的脚本中没有“防止默认设置”。 您必须做两件事:清除输入和显示错误的div,然后再加载它们!
数字2:您可以将ajax提交替换为放在其中的jQuery提交
`"$(document).ready(function(){
$('#your_form').submit(function(){
$.post("http://your_site.com/script_insert.php",{ first_variable:$('#first_input_field').val(),second_variable:$('#second_input_field').val(),rand:Math.random()},function(data){
if(data=='yes'){do something}
if(data=='no'){do something else}});
return false;});
});
});'
在您的PHP验证中,如果输入正确且格式有效,则回显“是”,否则回显“否”。 或您想要的其他任何单词。 这也允许更大的灵活性。 编辑以上内容以适合您的需求。 根据需要添加变量,这样,一切都将是jQuery。 如果您想查看有效的示例,请给我发送私人消息,我将向您确切演示它的工作方式。 使用上面的代码,我从来没有任何问题。 据我所知,jQuery在发送发布请求之前还自动清理了输入,这为您提供了某种形式的安全性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.