簡體   English   中英

PHP多個單選按鈕

[英]PHP multiple radio buttons

如何處理頁面上的所有單選按鈕?

<input type="radio" name="radio_1" value="some" />
<input type="radio" name="radio_1" value="some other" />

<input type="radio" name="radio_2" value="some" />
<input type="radio" name="radio_2" value="some other" />

此按鈕將動態添加,因此我將不知道單選按鈕的名稱(以及按鈕的數量)。 有沒有辦法通過for循環或類似的方法來獲取所有單選值? 謝謝

使用foreach循環

<?php
foreach ( $_POST as $key => $val )
    echo "$key -> $val\n";
?>

$ key將是所選選項的名稱,而$ val是該值。

由於瀏覽器只會將您的所有輸入更改為HTTP格式的表單數據,因此您將無法分辨出單選按鈕與文本框或其他輸入的數據是什么。

如果命名約定與您的示例相同,則循環直到找不到值為止:

<?
  for ($idx = 1; $idx <= 1000; $idx++) {
    if (isset($_REQUEST["radio_$idx"])) {
      // handle value
    }
  }
?>

編輯或者,如果您的表單是動態生成的,則可以將其創建的單選按鈕的數量寫為表單中的隱藏字段。

如果您能夠更改正在生成的表單,則可以編寫一個隱藏的輸入,其中提供了要查找的所有單選按鈕的列表。 編寫單選按鈕時,只需列出所有名稱,並以分號分隔即可。 完成后,將其寫入隱藏的輸入中。 像這樣:

在源表單上:

<input type="hidden" name="radio_button_list" value="some_value;other_value" />

然后在您的處理程序中:

<?
  $list = explode(';', $_REQUEST['radio_button_list']);
  foreach ($list as $name) {
    $value = $_REQUEST[$name];
    // handle name & value
  }
?>

jheddings的例子說明了一切。 但是,您將永遠不會獲得所有按鈕的名稱/值-僅從每個組中選擇一個。 如果確實需要所有值,則必須使用Javascript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM