チェックボックスの処理に関する解決策を試し、何をする必要があるかは理解していると思いますが、このコードに削除ボタンを配置すると問題が発生します。これが私のテーブルです:
<table>
<thead>
<tr>
<th>Camera Name</th>
<th>Date Created</th>
<th>Video Size</th>
<th>Video Length</th>
<th>
<button type="submit" class="deletebutton" name="delete_video" value="Delete" title="Delete the selected videos" onClick="return confirm('Are you sure you want to delete?')">Delete</button><br>
<input type="checkbox" name="radioselectall" title="Select All" />
</th>
</tr>
</thead>
<tbody>
<?php
for($i=0;$i<$num_videos;$i++)
{
//do stuff
//Note: I'm looping here to build the table from the server
?>
<tr >
<td onclick="DoNav('<?php echo $url; ?>');">
<?php echo $result_videos[$i]["camera_name"]; ?>
</td>
<td onclick="DoNav('<?php echo $url; ?>');">
<?php echo setlocalTime($result_videos[$i]["video_datetime"]); ?>
</td>
<td onclick="DoNav('<?php echo $url; ?>');">
<?php echo ByteSize($result_videos[$i]["video_size"]); ?>
</td>
<td onclick="DoNav('<?php echo $url; ?>');">
<?php echo strTime($result_videos[$i]["video_length"]); ?>
</td>
<td>
<form name="myform" action="<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>" method="POST">
<input type="checkbox" name="radioselect" title="Mark this video for deletion"/>
<input type="hidden" name="video_name" value="<?php echo $result_videos[$i]["video_name"]; ?>" />
</form>
</td>
</tr>
...
サーバーからテーブルをループしてデータを入力しますが、ヘッダーが明らかにループしていないことに注意してください。以前は、フォームとテーブルの各行に削除ボタンを配置していました。しかし、複数削除が必要なため、各行にチェックボックスを作成し、ヘッダーに削除ボタンを配置します。また、video_name
これは非常に重要であるため、削除する動画を知っている必要があります。
しかし、それが問題です。フォームに送信(削除)がないため(つまりループ内にあるため)、これらのチェックボックスを処理できません。代わりに、削除ボタンしかありません。誰かがこれを行うためのより良い方法を提案できますか?