在php中发布unchecked值的方法

时间:2014-12-03 10:57:36

标签: php html

我正在显示文本列表,每行都有一个提交按钮,名为"编辑"。

我正在使用post方法。

当用户想要编辑多个文本时,他们可以选中一个复选框,他们可以点击任何"编辑" button.And我知道当用户选中复选框时如何处理文本。

但是如果他们只想编辑一个文本,那么就没必要复选复选框了。

如果用户未选中任何复选框,我该如何处理。

例如,用户想要编辑他点击的公寓"编辑"按钮在同一行。 如何在post方法中获取此文本。 所有这些文本都是动态的,我从数据库获得。

<form method='post' action="edit.php">
<tr><td>
 <input type="checkbox" value="1" name="check_list[]">
 </td><td><input type='text' name="text[]" value="casa|house|home" /></td>
  <td><input type="submit" value="edit></td>
  </tr>
 < tr><td>
 <input type="checkbox" value="2" name="check_list[]">
 </td><td><input type='text' name="text[]" value="apartments" /></td>
  <td><input type="submit" value="edit></td>
  </tr>

1 个答案:

答案 0 :(得分:1)

如果您设置了提交按钮的名称,那么您将在该键下的$ _POST数组中获取它们。然后,您可以过滤$ _POST以查找按下了哪个按钮。

---在html ---

<input type="submit" name="edit_1" value="edit>

---在action.php ---

foreach( $_POST as $key => $value ) {       // run over list of posted fields
  if( strpos( $key, "edit_" ) === 0 ) {     // if it starts with edit_
    $valueOfPressedButton = substr( $key, 5 ); // strip away the edit_ so that only the number of the button remains 
  }
}

请记住,处理输入是一种相当奇怪的方式,因此在代码中不会直截了当。