2011-12-24 51 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