使用 jquery 发布 php 表单

Posted

技术标签:

【中文标题】使用 jquery 发布 php 表单【英文标题】:POST php form using jquery 【发布时间】:2011-08-25 20:01:45 【问题描述】:

我需要任何 jQuery 代码来发送表单数据而不刷新页面。

方法(POST):提交表单后显示“正在加载...”消息或“正在加载图像”。如果 process.php = 1 (true) 隐藏表单并显示 ok 消息,如果 process.php = 2 ( false ) 不隐藏表单并显示任何错误消息。

【问题讨论】:

【参考方案1】:
var data = new Object();
data['formData'] = $('#form').serializeArray();    
$.ajax(
        type: 'post',
        url: 'process.php',
        dataType: 'json',
        success: function(response) 
            if (response.result == 1) 
                $('#form').hide();
             else 
                alert('error');
            
        
    );

process.php:

//...
echo json_encode(array('result' => 0)); // OR 1

【讨论】:

很好,没有 json 数据类型方法?这不显示 ajax 加载消息。 @persipam,我不明白你的评论)你能解释一下吗? 在您的代码中提交后不显示任何加载消息或加载图像。 2- 用于错误 jquery 显示警告框。请看我的问题。谢谢【参考方案2】:

您需要添加表单 ID 或任何其他标识符。

所以,如果你的表格是

<div id="message"> </div>
<form method="post" action="" id="myForm">
<input type="submit" name="send" id="sendData" />
</form>

jQuery:

$(document).ready(function() 
$("#sendData").click(function() 
  $("#message").html("loading ...");
  $.post("process.php", 
      submit: 1 //and any other POST data you separate with comma
  , function(response) 
       if(response == 1) 
            $("#myForm").hide();
            $("#message").html("OK");
        else 
            $("#message").html("error message");
       
  );
);
);

现在,提交表单后,您将在发布“process.php”时收到消息“正在加载...”,然后如果 process.php 返回 1,表单将被隐藏并显示 OK,否则您会收到错误消息。

【讨论】:

不错。我对此进行了测试。谢谢卡罗96。这适用于 jquery 1.4.4 ? 是的,可能,但使用最新版本的 jQuery(推荐,不适用于 $.post)。 如果我在表单中有带有id=email 的文本并且我想发送到process.php,在process.php 中,我如何检索数据并将其存储在数据库和jQuery 代码中。 ..我们如何发送line 5

以上是关于使用 jquery 发布 php 表单的主要内容,如果未能解决你的问题,请参考以下文章

jQuery AJAX 表单数据使用 PHP 序列化

也使用 Jquery 和 Php 在前端和后端验证表单数据

我无法使用 PHP 和 jQuery 将表单数据更新到 MySQL

使用 jQuery 提交表单并使用 PHP 发送.. 不知道为啥它不发送

使用 PHP、Jquery、AJAX 表单机制和数据库中的数据过滤数据

PHP 使用 jQuery .post() 提交带有多个提交按钮的表单