使用Jquery验证插件的Ajax表单提交无效

时间:2015-04-20 14:52:38

标签: javascript php jquery ajax forms

我正在使用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();
     } 

});

1 个答案:

答案 0 :(得分:2)

我认为你的问题就在这里

 data: $(#myform).serialize()

将其更改为

 data: $(this).serialize()