私はこのフォームから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>
参加者入力フィールド(hiddenfield2)は、同じ名前とIDの1つ以上のフィールドのどこでもかまいません。
次に、phpページに送信するための次のコードがあります。
function parseResponse123<?php echo $id; ?> ()
{
var hiddenField2<?php echo $id; ?> = $("#hiddenField2<?php echo $id; ?>");
var hiddenField4<?php echo $id; ?> = $("#hiddenField4<?php echo $id; ?>");
var hiddenField5<?php echo $id; ?> = $("#hiddenField5<?php echo $id; ?>");
var hiddenField1<?php echo $id; ?> = $("#hiddenField1<?php echo $id; ?>");
var url = "insert.php";
$.post(url,{ hiddenField2: $('[name="hiddenField2<?php echo $id; ?>[]"]').serialize(),hiddenField: hiddenField5<?php echo $id; ?>.val(), hiddenField1:hiddenField1<?php echo $id; ?>.val(), hiddenField4:hiddenField4<?php echo $id; ?>.val() } ,
function(data) {
});
setTimeout(function() {
$.ajax({
type:"POST",
data:"getNews=true",
success: function(r){
$("#newsContent").html(r);
},
error: function(){
alert($(".hiddenField2<?php echo $id; ?>").val());
$("#error").text($(".hiddenField2<?php echo $id; ?>")).fadeIn(300)
}
})
},200);
}
そこにあるすべてのエコーIDを無視してください。それらは、将来の使用のために何よりも多くあります。javascriptを使用してhiddenField2の配列を作成し、それをinsert.phpに送信してから、phpがforeachループを使用できるように配列をデコードする方法についてサポートが必要です。これで何か助けはありますか?