[英]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.