没有页面重定向的“添加员工”表单

时间:2014-02-17 16:50:12

标签: php jquery mysql forms

我将表单数据从employee.php发送到new_employee.php,new_employee.php将数据插入到我的数据库中。 提交表单后,它会将用户重定向到new_employee.php,让他们知道它是否成功。

我想要的是它清除表单并让用户知道employee.php上是否成功,而不是重定向用户。

请注意!我知道这不是sql注入保护或任何东西,但我简化它,当我在这里发布它。 我也意识到我应该使用mysqli。

employee.php

    <body>
    <form id="add-emp" method="POST" action="add_employee.php">
            <input type="text" id="name" name="name" placeholder="Full Name" />
            <input type="text" id="email" name="email" placeholder="Email" />

            <input type="submit" value="Register Employee" class="button"  onClick="fun();"/>
    </form>

        <!--<div id="result"></div>-->

</body> 


    <script> 
        $('#add-emp').submit(function(event) {
             event.preventDefault();
             var form = $(this),
             value1 = $form.find( 'input[name="name"]' ).val(),
             value2 = $form.find( 'input[name="email"]' ).val(),
             url = $form.attr( 'action' );

             var posting = $.post( url, { name: value1, email: value2 } );

             });
         });
    </script>

这是我的new_employee.php

<?php
$name = $_POST['name'];
$email = $_POST['email'];
     mysql_connect("localhost", "****", "****");
     mysql_select_db("****");       

$stmt = "INSERT INTO employee (name, email) VALUES ('$name', '$email')";
$result = mysql_query($stmt);
     if($result){
     echo("success!");
     }else{
     echo("failed!");
     }

?>

2 个答案:

答案 0 :(得分:1)

这里有一些问题。您的代码中有})个许可证,并使用var form定义了$form

$('#add-emp').submit(function(event) {
        event.preventDefault();
        var form = $(this),
                value1 = form.find( 'input[name="name"]' ).val(),
                value2 = form.find( 'input[name="email"]' ).val(),
                url = form.attr( 'action' );

        var posting = $.post( url, { name: value1, email: value2 }, function(data) { alert(data)} );
 });

使用$.post中的回调函数,您可以看到会发生什么并收到您的消息(失败或成功)。

https://api.jquery.com/jQuery.post/

答案 1 :(得分:-1)

你几乎就在那里,剩下的就是在php文件中获取echo的字符串,并将其添加到dom中。

success: function(data){
  var div = document.getElementById('#messageDiv');
  div.innerHTML(data);
}