2011-08-28 289 views
1

我想用jquery發表一個表單,但是我的代碼不工作。我提交後,我的頁面會刷新,問題在哪裏?等待幫助。jquery form post not working

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(); 

} 
?> 
+0

如果您看到的頁面刷新,當你提交處理程序返回假,那麼問題通常是提交處理函數中的JavaScript錯誤。那裏我沒有看到任何明顯的東西。使用調試器運行腳本。你看到任何錯誤? –

回答

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 
}); 

採取表單action屬性一看

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

希望這會有所幫助。

+0

謝謝,但仍然刷新 – cj333

+0

查看更新的答案。 – AlphaMale

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>