使用javascript形成一个数组,然后将该数组发送到php以提交到数据库
我正在尝试从以下表单形成javascript函数:使用javascript形成一个数组,然后将该数组发送到php以提交到数据库,php,javascript,html,arrays,Php,Javascript,Html,Arrays,我正在尝试从以下表单形成javascript函数: <form class="responseForm" action="javascript:parseResponse123<?php echo $id; ?>()" id="responseForm<?php echo $id; ?>"> <input name="hiddenField5<?php echo $id; ?>" id="hiddenField5<?php echo
<form class="responseForm" action="javascript:parseResponse123<?php echo $id; ?>()" id="responseForm<?php echo $id; ?>">
<input name="hiddenField5<?php echo $id; ?>" id="hiddenField5<?php echo $id; ?>" type="hidden" value="<?php echo $id; ?>" />
<input name="hiddenField4<?php echo $id; ?>" type="hidden" id="hiddenField4<?php echo $id; ?>" value="<?php echo $qty; ?>" />
<font color="red"><?php echo $val; ?></font><br />
<?php
$i=1;
while($i<=$qty)
{
?>
Participant <?php echo $i; ?>:<input name="hiddenField2[]" id="hiddenField2" type="text" /><br />
<?php $i++;
}
?>
<input name="submit" type="submit" value="Submit" />
</form>
.val(),hiddenField1:hiddenField1.val(),hiddenField4:hiddenField4.val(),
功能(数据){
});
setTimeout(函数(){
$.ajax({
类型:“POST”,
数据:“getNews=true”,
成功:功能(r){
$(“#新闻内容”).html(r);
},
错误:函数(){
警报($(“.hiddenField2”).val();
$(“#错误”).text($(“.hiddenField2”).fadeIn(300)
}
})
},200);
}
请忽略其中的所有echo id,它们比任何东西都更适合将来使用。我需要帮助使用javascript为hiddenField2生成数组,然后将其提交到insert.php,然后如何解码该数组,以便php可以使用foreach循环。有什么帮助吗?您应该查看jQuery序列化函数: 编辑:详细阐述 我没有测试这个,但你可以这样做
<form class="responseForm" action="">
<input name="formData[id]" type="hidden" value="<?php echo $id; ?>" />
<input name="formData[qty]" type="hidden" value="<?php echo $qty; ?>" />
<font color="red"><?php echo $val; ?></font><br />
<?php
$i=1;
while($i<=$qty)
{
?>
Participant <?php echo $i; ?>:<input name="formData[participants][]" type="text" /><br />
<?php $i++;
}
?>
<input name="submit" type="submit" value="Submit" />
</form>
用JSON格式发送代码,您需要查看jQuery选择器&JSONso之类的东西吗?但它仍然不起作用,有什么建议吗?[code]函数parseResponse123(){$.ajax({type:“POST”,url:insert.php,$(“#responseForm”).serialize();});[/code]如果您在firefox上有firebug或使用chrome,您应该能够通过浏览器检查器查看请求参数。应该向您显示请求中发送的确切内容。此外,为什么要用PHP回显ID?您使用的是多个表单吗?如果是,您可以使用为每个表单匹配添加提交事件函数一个特定的类,然后它将在提交的特定表单的上下文中发送。使用您提供的代码作为起点,我希望url也提交到哪里?我正在使用浏览器检查器,它说找不到资源?
$.ajax({
type:"POST",
data: $("#form-id").serialize(),
success: function(r){
// do something here after success
});
<form class="responseForm" action="">
<input name="formData[id]" type="hidden" value="<?php echo $id; ?>" />
<input name="formData[qty]" type="hidden" value="<?php echo $qty; ?>" />
<font color="red"><?php echo $val; ?></font><br />
<?php
$i=1;
while($i<=$qty)
{
?>
Participant <?php echo $i; ?>:<input name="formData[participants][]" type="text" /><br />
<?php $i++;
}
?>
<input name="submit" type="submit" value="Submit" />
</form>
<script>
$("form.responseForm").submit(function(e){
e.preventDefault();
var formData = $(this).serialize();
$.ajax({
url : '/insert.php', // assuming from root of your domain dir
type:"POST",
data: formData,
success: function(response){
$("#newsContent").html(response);
},
error: function(){
}
});
});
</script>
<?php
$formData = $_POST['formData']; // an array of the form
foreach($formData['participants'] as $participant){
// do something
}
?>