jquery表格帖子没有用

时间:2011-08-28 07:51:54

标签: jquery

我想用jquery发布一个表单,但我的代码不起作用。提交后,我的页面会刷新,问题出在哪里?等待帮助。

jquery代码

function submitForm() {
        var par1 = $('input[@name=my_radio][@checked]').val();
        var par2 = $('input[@name=title]').val();
        var par3 = $('input[@name=content]').val();
            $.ajax({
                url: "r8.php", 
                dataType: "html",
                type: 'POST', 
                data: "submit=" + par1 + "&title=" + par2 + "&content=" + par3, 
                success: function(data){ 
                    $("#response").html(data);
                    $('input[@name=title]').html('');
                    $('input[@name=content]').html('');
                }
            });

        return false;
    } 

html代码:

<form method="post" id="post_form" name="post_form" onsubmit="return submitForm();">
    <label>1: <input type="radio" name="my_radio" value="1" checked /></label>   
    <label>2: <input type="radio" name="my_radio" value="2" /></label> 
    <input id="title" name="title" type="text">
    <input id="content" name="content" type="text">
    <input type="submit" name="my_submit" id="my_submit" value="submit" />
</form>
<div id="response"></div>

和r8.php代码

<?php
if($_POST['submit']!=''){ 

    echo $_POST['title']."|".$_POST['content']."|".$_POST['submit']."|".time(); 

}
?>

2 个答案:

答案 0 :(得分:0)

在你的java脚本submitform()函数中,收到如下值:

var par1 = $('input:radio[name=my_radio]:checked').val()
var par2 = $('#title').val();
var par3 = $('#content').val();

您的方法没有获取变量中的值。这就是为什么没有发布任何内容。 我已经尝试过它并且有效。

编辑:

您需要做的是使用其中一个ajax方法发布表单,并将输出注入成功回调中的元素。例如:

$("#my_submit").click(function() {
    $.post($("#post_form").attr("action"), $("#post_form").serialize(), function(html) {
        $("div.post_form").html(html);
    });
    return false; // prevent normal submit
});

看看

http://api.jquery.com/jQuery.post/http://api.jquery.com/jQuery.ajax/

在表单操作属性中提供r8.php。即

<form method="post" id="post_form" name="post_form" action="r8.php" />

希望这有帮助。

答案 1 :(得分:0)

你的选择器有问题.. 从选择器中删除“@”,它将起作用..

 <script language="javascript">
 function submitForm() {

             var par1 = $('input[name=my_radio][checked]').val();
         var par2 = $("input[name=title]").val();
         var par3 = $("input[name=content]").val();

         $.ajax({
                 url: "r8.php", 
                 dataType: "html",
                 type: 'POST', 
                 data: "submit=" + par1 + "&title=" + par2 + "&content=" + par3, 
                 success: function(data){ 
                     $("#response").html(data);
                     $("input[name=title]").html("");
                     $("input[name=content]").html("");
                                          }
                  });

                   return false;
               } 

     </script>