1つのページに2つの異なるフォームがあり、動的に入力を生成します。1つはテキスト入力に使用され、ボタンを押すと(このフォームを1と呼びます)、別のテキストボックスが表示されます。もう1つは、通知するユーザーを追加します。ボタンが押されると、ユーザーがリストに追加されます(このフォームを2と呼びます)。
フォーム1で3つのテキストボックスを生成したとします。フォーム2で別のユーザーを追加しようとすると、フォーム1のデータが投稿されていないため、フォーム1のすべてのテキストボックスが表示されなくなります。
2つの形式の呼び方は次のとおりです
<form method="post">
<?
$friends = new common_functions();
$friends->add_friends($added_friends); //this is in common functions - also used for assistance invites
?>
<br>
</form>
<form method="post">
<br>
<?
$register = new common_functions();
$register->register_tasks($j, $reg_description, $reg_num);
?>
</form>
<?
両方が同時に投稿されるように変更すると(現在のように個別にではなく)、個々のフォームが正しく機能しません。
要約すると、送信ボタンが押されていない場合でもデータを投稿するようにフォームに指示する方法はありますか?onactionのようなもの(他のフォームからのデータを投稿...)
これはフォーム2からのものです。これからメソッドを削除すると、リストからアイテムを適切に削除できません。
if(count($added_friends) > 0){
?>
<table width="200">
<col width="150">
<th>Name</th><th>Remove</th>
<?
$count = count($added_friends);
for($i=0; $i< $count; $i++){
if($added_friends[$i] == NULL){
$count = $count;
}
$friend = $added_friends[$i];
?>
<!-- allows a user to remove invited friends -->
<form method="post">
<tr><td><? echo $friend; ?></td><td><input type="submit" name="remove_friend" value="X"/>
<input type="hidden" name="remove_name" value="<? echo $friend; ?>"/>
<input type="hidden" name="added_friends" value="<? echo implode(',',$added_friends); ?>"/></td></tr> </form>
</form>
<?
}
?>
</table>
<?
}