<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>";
?>
答案 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>";
?>
希望我能正确解释你的问题。