2012-04-24 3 views
0

Я прошел проверку на обработку и подумал, что понимаю, что мне нужно сделать, но у меня есть проблема, когда я помещаю свою кнопку удаления в этот код. Вот мой стол:delete button layout

<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> 
... 

Обратите внимание, что цикл я через и заполнить таблицу с сервера, но заголовок не циклический, очевидно. Я использовал кнопку удаления в форме и в каждой строке таблицы. Но теперь, поскольку я хочу multi-delete, я создаю флажки в каждой строке и помещаю кнопку удаления в заголовок. Я также должен отметить, что video_name имеет решающее значение, поэтому я знаю, какие видео нужно удалить.

Но это проблема, так как у меня нет отправки (удаления) в форме (то есть в цикле), я не могу обработать эти теги. Вместо этого у меня есть только кнопка удаления. Может ли кто-нибудь предложить лучший способ сделать это?

ответ

1

Форма должна идти вокруг всей таблицы, и вместо того, чтобы иметь скрытый вход для имени, которое вы можете иметь его в названии CheckBox в:

<input type="checkbox" name="radioselect[<?php echo $result_videos[$i]['video_name']; ?>]" /> 

Затем в вашем PHP скрипт, который получает запрос POST , $_POST['radioselect'] будет массивом. Затем вы можете использовать:

foreach(array_keys($_POST['radioselect']) as $k) { ... } 

Это будет проходить через выбранные флажки. Вы получаете video_name в $k, и вы можете обрабатывать его, как и одно удаление.

1

Одним из решений было бы установить флажок видео в поле имени его удаления. Затем вы можете прочитать полученные флажки и проанализировать имена видео из них.