簡體   English   中英

如何從jQuery到PHP獲取輸入值1乘1

[英]How to get Input value 1 by 1 from jquery to PHP

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

但是結果顯示

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

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

data.php:

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

僅當使用提交正常發布表單時,此方法才有效。

現在,您需要反序列化數據:

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

這條線

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

說您將表單(序列化)發布為鍵“名稱”的值。 盡管這是可能的,但我想您只是想要您的價值觀。

如果快速瀏覽一下jquery帖子手冊,就會發現您可以制作一個這樣的對象:

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

只需使用jquery讀取表單值,然后將其放入類似的對象中,而不是序列化表單即可。

我不確定我是否理解您的問題,但是我猜您在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>";
?>

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM