【发布时间】:2015-06-27 09:04:55
【问题描述】:
我正在使用 Jquery 验证插件来验证表单,我需要在提交后显示成功/错误消息而不重新加载页面。 但是每次我提交表单时,页面都会重新加载。此外,即使数据出现在数据库中,“错误”警报也会不断出现。
index.php
<?php
function register() {
$name = $_POST['name'];
$mail = $_POST['email'];
$query = "INSERT INTO table_name (name,email) VALUES ('$name','$email')";
$data = mysql_query($query)or die(mysql_error());
echo json_encode($data);
}
if(isset($_POST['submit'])) {
register();
}
?>
Javascript 代码:
$("#myform").validate({
//rules, messages go here
submitHandler: function(event) {
$.ajax({
url: "index.php",
type: "POST",
data: $(#myform).serialize(),
dataType: 'json',
success: function() {
alert("Thank you!");
},
error: function() {
alert("Error. Try again please!");
}
});
event.preventDefault();
}
});
【问题讨论】:
-
如果页面重新加载,您的 JS 代码可能不会被触发。可能是JS错误,也可能是页面没有加载jquery等。
-
$(#myform).serialize()缺少引号 =>$('#myform').serialize() -
在函数中返回false
标签: javascript php jquery ajax forms