2011-12-24 75 views
2
<script type="text/javascript"> 
    // index.php 

    function get(){ 
     $('#age').hide(); 
     $.post('data.php',{ name: $('form').serialize() }, 


    function (output){ 
     $('#age').html(output).fadeIn(1000); 
    }); 
    } 

</script> 
<body> 
<form name="form" action="a.php"> 

    <input type="text" name="name[]" value="1"/> 
    <input type="text" name="name[]" value="2"/> 
    <input type="button" value="Get" onclick="get();"/> 
</form> 

<div id="age"> 

</div> 

但結果表明如何通過從1 jQuery的獲取輸入值1到PHP

Array ([name] => name%5B%5D=1&name%5B%5D=2) 

我想值1拿到1。這樣我就可以收集數據庫中的數據運行查詢,以基於價值請,請幫我

data.php:

<?php //data.php 
    echo "<pre>"; 
    print_r($_POST); 
    echo "</pre>"; 
?> 
+0

<?php //data.php echo「

"; print_r($_POST); echo "
」; ?> – 2011-12-24 19:21:24

+0

您應該將'data.php'代碼合併回原始問題中,而不是將其作爲註釋。 – mc10 2011-12-24 19:27:36

+0

爲什麼編輯說你已經把data.php的代碼放在註釋中?只需添加它;)。無論如何,你是什麼意思'我想要價值1'? – Nanne 2011-12-24 19:29:52

回答

0

此方法僅當您張貼的形式通常,使用提交的作品。

現在需要反序列化數據:

<?php 
    var_dump(unserialize($_POST['name'])); 
?> 
+0

感謝您的回覆。但我無法反序列化jquery序列化值。 – 2011-12-25 04:30:44

+0

爲什麼不呢,當然可以。 – 2011-12-25 09:59:29

0

此行

$.post('data.php',{ name: $('form').serialize() }, 

說你發表您的形式(序列化)爲主要的「名稱」的值。雖然這是可能的,但我認爲你只是想要你的價值觀。

如果您在the jquery post manual我們快速瀏覽一下在youc一看,你可以做一個對象是這樣的:

{ name: "John", time: "2pm" } 

只需用jQuery讀你的表單值,並把它們像一個對象,而不是序列化表單。

+0

我想在php中反序列化jquery序列化值,謝謝 – 2011-12-25 04:31:22

0

我不確定我是否理解你的問題,但我猜你沒有在你的php文件中收到正確的值?

試試這個 - 在HTML文件中,使用這樣的:

<script type="text/javascript"> 
// index.php 
function get() 
    { 
     $('#age').hide(); 
     $.post('data.php', 
     { 
      "name1":$('#name1').val(), 
      "name2":$('#name2').val() 
     }, 
    function (output){ 
     $('#age').html(output).fadeIn(1000); 
    }); 
} 
</script> 

<body> 
<form name="form" action="a.php"> 
    <input type="text" name="name1" id="name1" value="1"/> 
    <input type="text" name="name2" id="name2" value="2"/> 
    <input type="button" value="Get" onclick="get();"/> 
</form> 

,並在你的PHP頁面,有這樣的:

<?php 
    echo "<pre>"; 
    echo "this is the first input: " . $_POST['name1'] . "<br />"; 
    echo "this is the second input: " . $_POST['name2'] . "<br />"; 
    echo "</pre>"; 
?> 

希望我正確地解釋你的問題。

+0

我想在php中反序列化jquery序列化值,謝謝你的幫助 – 2011-12-25 04:31:42