使用javascript形成一个数组,然后将该数组发送到php以提交到数据库

使用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

我正在尝试从以下表单形成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 $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
    }
?>