php表单的回调消息

时间:2014-04-13 05:34:41

标签: php jquery html ajax

我只想知道如何为“成功”或“错误”发送“回调”消息。

我真的不太了解jquery / ajax,但是,我试图这样做:

我有一些带有一些信息的基本表单,我用POST方法发送了“test.php”的信息。

我的发送(不是输入)有这个ID:“#send”。这是我在index.html中的JS

$(document).ready(function() {

            $("#send").click(function(e) {
                e.preventDefault();
                $(".message").load('teste.php');
            });

});

而且,在我的PHP(test.php)中有这个:

<?php

$name = $_POST['name'];

if($name == "Test")
{
    echo "Success!";
}
else{
    echo "Error :(";
}

?>

当我点击按钮时,消息始终为:

注意:未定义的索引:第3行的/Applications/XAMPP/xamppfiles/htdocs/sites/port/public/test.php中的名称 错误:(

帮助:'(

3 个答案:

答案 0 :(得分:0)

问题是您没有将名称数据传递给PHP使用我的Javascript代码。 理解中的问题请回复

$(document).ready(function() {
    $(document).on('click','#send',function(e)
    {
        var params={};
        params.name="Your Name ";
        $.post('test.php',params,function(response)
        {
            e.preventDefault();
            alert(response); //Alert Response
            $(".message").html(response); //Load Response in message class div span or anywhere
        });
    });
});

答案 1 :(得分:0)

这是你的新JS:

$(document).ready(function()
{
    $("#send").click(function(e) {
        e.preventDefault();
        var form_data = $("#my_form").serialize();
        $.post('teste.php', form_data, function(data){
            $(".message").empty().append(data);
        });
    });
});

这是您的新HTML:

<form id="my_form">
<input type="text" name="name" value="" />
<input type="button" id="send" value="Send" />
</form>

答案 2 :(得分:0)

您可以在项目中更普遍地使用它,这有点复杂。只需为要使用的每个表单添加一个新的回调函数。

<form method="POST" action="test.php" id="nameForm">
    <input name="name">
    <input type="submit">
</form>

<script>
    // wrap everything in an anonymous function
    // as not to pollute the global namespace
    (function($){
        // document ready
        $(function(){
            $('#nameForm').on('submit', {callback: nameFormCallback },submitForm);
        });

        // specific code to your form
        var nameFormCallback = function(data) {
            alert(data);
        };

        // general form submit function
        var submitForm = function(event) {
            event.preventDefault();
            event.stopPropagation();

            var data = $(event.target).serialize();

            // you could validate your form here

            // post the form data to your form action
            $.ajax({
                 url : event.target.action,
                 type: 'POST',
                 data: data,
                 success: function(data){
                     event.data.callback(data);
                }
            });
        };
    }(jQuery));
</script>