Php 如何通过ajax post方法发送多个同名输入字段值
我有两个同名的多个输入字段。我想使用jqueryajaxpost方法从另一个页面发送所有字段的值,但我没有得到所有行的输入字段值。请检查我的代码 Javascript代码Php 如何通过ajax post方法发送多个同名输入字段值,php,jquery,ajax,Php,Jquery,Ajax,我有两个同名的多个输入字段。我想使用jqueryajaxpost方法从另一个页面发送所有字段的值,但我没有得到所有行的输入字段值。请检查我的代码 Javascript代码 <script type="text/javascript"> function getValue() { $.post("paidamt.php", { paidamt : $('#paidamt').val(), uid : $('#uid').val() },
<script type="text/javascript">
function getValue()
{
$.post("paidamt.php",
{
paidamt : $('#paidamt').val(),
uid : $('#uid').val()
},
function( data){
/*alert(data);*/
$("#divShow").html(data);
});
}
</script>
函数getValue()
{
$.post(“paidamt.php”,
{
paidamt:$('#paidamt').val(),
uid:$('#uid').val()
},
功能(数据){
/*警报(数据)*/
$(“#divShow”).html(数据);
});
}
Html代码
<div>
<form method="post">
<table border="1">
<tr>
<th>Product</th>
<th>Price</th>
<th>Paid Amount</th>
<th>Check</th>
</tr>
<?php
$sql = mysql_query("SELECT * FROM `tbldemo`");
while ($result = mysql_fetch_array($sql)) {
?>
<tr>
<td><?php echo $result['pname']; ?> </td>
<td><?php echo $result['price']; ?></td>
<td><input type="text" name="paidamt[]" id="paidamt"></td>
<td><input type="checkbox" name="uid[]" id="uid"
value="<?php echo $result['id']; ?>"></td>
</tr>
<?php }
?>
</table><br>
<input type="button" name="submit" id="submit"
onclick="getValue(1)" value="Save Amt.">
</form>
</div>
<div id="divShow">
</div>
产品
价格
已付金额
检查
我建议添加类而不是id,因为相同的类可以重复,但id不应该重复
<script type="text/javascript">
function getValue()
{
var paidamtval = [];
$('#paidamt').each(function(){
paidamtval.push($(this).val());
});
$.post("paidamt.php",
{
paidamt : paidamtval,
uid : $('#uid').val()
},
function( data){
/*alert(data);*/
$("#divShow").html(data);
});
}
</script>
函数getValue()
{
var paidamtval=[];
$('#paidamt')。每个(函数(){
paidamtval.push($(this.val());
});
$.post(“paidamt.php”,
{
paidamt:paidamtval,
uid:$('#uid').val()
},
功能(数据){
/*警报(数据)*/
$(“#divShow”).html(数据);
});
}
由于您将拥有许多这样的功能,id-需要是唯一的,而在您的情况下不是,因此请删除“id=”paidamt“
这是您的第一个错误。其次,不要使用$.post来提交此表单。请删除AJAX提交,或使用类似的方式绑定表单。尝试使用此方法
var paidamt = $("input[name=paidamt]").map(function(){
return $(this).val();
}).get().join(",");
var uid = $("input[name=uid]").map(function(){
return $(this).val();
}).get().join(",");
$.ajax(
{
type: "POST",
url: 'paidamt.php',
data:
{
paidamt:paidamt,
uid:uid
}
});
首先,您为输入
元素指定了相同的id
,该id在循环中重复。这将导致HTML无效,您应该将id
更改为类
:
产品
价格
已付金额
检查
你试试这个代码
$('document').ready(function(){
$('#submit').click(function(){
jQuery.ajax({
type: "POST",
url: "paidamt.php",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(html){
try{
$("#divShow").html(data);
}catch (e){
alert(JSON.stringify(e));
}
},
error : function(e){alert("error "+JSON.stringify(e)); }
});
});
});
在paidamt.php文件中
$paidamt=$_POST['paidamt'];// its can array values
print_r($paidamt);// result display
理想情况下,表单中不应存在具有相同ID的多个控件。您可以使用名称而不是ID。例如-$('input[name=“paidamt”]')。刚刚发现已建议使用它,因此:getting error“TypeError:FormData.constructor的参数1未实现接口HTMLFormElement。”
$('document').ready(function(){
$('#submit').click(function(){
jQuery.ajax({
type: "POST",
url: "paidamt.php",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(html){
try{
$("#divShow").html(data);
}catch (e){
alert(JSON.stringify(e));
}
},
error : function(e){alert("error "+JSON.stringify(e)); }
});
});
});
$paidamt=$_POST['paidamt'];// its can array values
print_r($paidamt);// result display