簡體   English   中英

有多個復選框時如何更改表單中的默認復選框值

[英]How to change default checkbox values in a form when there are multiple checkboxes

我有一個帶有4個復選框的表格。 選中復選框后,對於每個選中的復選框,從表單生成的電子郵件將顯示默認的“開”。

我想將其更改為“是”。 問題是,盡管我可以使用下面的代碼將默認值更改為“是”,但無論是否在表單上選中了復選框,電子郵件的每個選項旁邊都會出現“是”。 我是PHP的新手,到目前為止,我沒有搜索過任何答案來解決我遇到的問題。 任何有關如何修復的建議將不勝感激。 謝謝!

HTML

<input type="checkbox" name="red" id="red" value="yes">
  <label for="red">Red</label></p><p>
  <input type="checkbox" name="blue" id="blue" value="yes">
  <label for="blue">Blue</label></p><p>
  <input type="checkbox" name="green" id="green" value="yes">
  <label for="green">Green</label></p><p>
  <input type="checkbox" name="yellow" id="yellow" value="yes">
  <label for="yellow">Yellow</label>

的PHP

    $red = $_POST['red'];
if ($red != 'Yes') {
    $red = 'Yes';
}

$blue = $_POST['blue'];
if ($blue != 'Yes') {
    $blue = 'Yes';
}
$green = $_POST['green'];
if ($green != 'Yes') {
    $green = 'Yes';
}

$yellow = $_POST['yellow'];
if ($yellow != 'Yes') {
    $yellow = 'Yes';
}

謝謝!

如果您選中此復選框,則只能通過$_POST因此

$red = $_POST['red'];
if ($red != 'Yes') {
    $red = 'Yes';
}

無論您是否選中$red = $_POST['red'];復選框,都會將$ red設置為Yes $red = $_POST['red']; 將返回null和$_POST['red']; 將為您提供輸入的value屬性:checkbox <input type="checkbox" name="red" id="red" value="yes">在這種情況下,它將輸出yes

oc都將顯示為yes,您正在做的是檢查每個復選框,如果不是,則設置為yes。 您的最終結果將是將所有框都設置為yes。 嘗試這個:

$red = $_POST['red'];
if ($red != 'Yes') {
    $red == 'No';
}

暫無
暫無

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

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