php表单的回调消息

php表单的回调消息,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我只想知道如何发送“成功”或“错误”的“回调”消息 我对jquery/ajax真的不太了解,但我试着这样做: 我有一个包含一些信息的基本表单,我用POST方法发送了一个“test.php”的信息 我的发送(非输入)具有以下id:#发送”。这是我在index.html中的JS $(document).ready(function() { $("#send").click(function(e) { e.preventDefault();

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

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

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

我的发送(非输入)具有以下id:#发送”。这是我在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中的名称 错误:(


帮助:“(

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

$(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
        });
    });
});
这是您的新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>

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

<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>

//将所有内容包装在匿名函数中
//以避免污染全局命名空间
(函数($){
//文件准备就绪
$(函数(){
$('#nameForm')。on('submit',{callback:nameFormCallback},submitForm);
});
//表单的特定代码
var nameFormCallback=函数(数据){
警报(数据);
};
//通用表单提交功能
var submitForm=函数(事件){
event.preventDefault();
event.stopPropagation();
var data=$(event.target).serialize();
//您可以在这里验证您的表单
//将表单数据发布到表单操作
$.ajax({
url:event.target.action,
键入:“POST”,
数据:数据,
成功:功能(数据){
事件.data.callback(数据);
}
});
};
}(jQuery));

您的请求中没有发送表单数据。请查看如何发布表单数据。这可能是Wow的副本!这就是我需要的。谢谢,伙计。另一个问题:有没有办法在这个过程中放置动画(加载)?@user3513330是的,只需使用一些ID制作一个div并在其中放置一个图像。然后在执行类似的操作之前进行显示$(“#div_id”).show();最后将其隐藏为$(“#div_id”).hide();谢谢。嗯,不幸的是,默认值“规避”了html5的“必需”形式,对吗?