如何从jquery到PHP获取1的输入值1

时间:2011-12-24 19:19:46

标签: php jquery

    <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>"; 
?>

3 个答案:

答案 0 :(得分:0)

此方法仅在您使用提交正常发布表单时才有效。

您现在需要反序列化数据:

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

答案 1 :(得分:0)

这一行

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

表示您将表单(序列化)发布为键“name”的值。虽然这是可能的,但我认为你只是想要你的价值观。

如果你快速浏览一下the jquery post manual youc,看看你可以制作这样一个物体:

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

只需用jquery读取你的表单值并将它们放在这样的对象中,而不是序列化表单。

答案 2 :(得分: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>";
?>

希望我能正确解释你的问题。