Php 如何使用jQuery提交表单而不刷新?

Php 如何使用jQuery提交表单而不刷新?,php,jquery,ajax,forms,post,Php,Jquery,Ajax,Forms,Post,我有以下表格: <form id="myform" name="myform" action="test.php" method="post"> <input type="text" name="shout-in" id="proShoutIn" maxlength="80" /> <a href="#" id="add_shout"><img src="post.gif"/></a> </form> 我如何做一篇aj

我有以下表格:

<form id="myform" name="myform" action="test.php" method="post">
<input type="text" name="shout-in" id="proShoutIn" maxlength="80" />
<a href="#" id="add_shout"><img src="post.gif"/></a>
</form>

我如何做一篇ajax文章,以便使用
if(isset($\u post['shout-in']){..do something..}
? 我需要获取在
中输入的值,并用它发布文章

有什么想法吗? 谢谢

  • -
    $.ajax()
    POST方法的简写
  • -以标准URL编码表示法创建文本字符串
使用
$.post()
的第三个(可选)参数,您可以指定一个回调函数,该函数将接收作为其唯一参数发送回的任何内容。它将在AJAX查询成功完成时运行(因此您可以根据AJAX调用进行DOM修改,等等)

您还可能希望阻止默认表单提交(在许多浏览器中,在输入字段中按Enter键会触发默认表单提交),并运行AJAX提交:

$('#myform').submit(function (e) {
     $('#add_shout').click();
     e.preventDefault();
});
净额加:


我在哪里安装这个php
if(isset($\u POST['shout-in']){…}
我在哪里安装这个php
if(isset($\u POST['shout-in']){…}
@Patrioticcow我给你的是Javascript(jQuery)代码。您编写的PHP行应该进入您的
test.PHP
。如果PHP在同一个文件中呢?这会有问题吗?我应该使用
if(isset($POST['shout-in']){…}
还是
if(isset($POST)){…}
?@Patrioticcow使用
if(isset($POST['shout-in']){…}
是正确的。通常情况下,如果它们位于同一个文件中,并且处理方式正确,则不会出现问题。对于更干净的代码,您应该将Javascript分离到一个
.js
文件中,并将其包含在
中(从长远来看,这样更容易调试和更改)。
$('#add_shout').click(function () {
    var $form=$('#myform');
    $.post($form.attr('action'), $form.serialize());
});
$('#myform').submit(function (e) {
     $('#add_shout').click();
     e.preventDefault();
});
   $("#myform").submit(function (e) {
      $.post(this.action, $(this).serialize(), function (data) {
         //handle response
      });
      //prevent form from submitting.  In jQuery, do not use return false
      e.preventDefault();
   }