2016-02-06 78 views
1

我知道还有其他话题涉及这一点,但我通读了他们,尝试了解决方案,并且仍然遇到问题。php保持动态生成单选按钮检查后提交

我有一个数组$ genderValues,我通过循环来回显表单内的两个单选按钮。该表单还有其他输入以进行验证。当用户检查男性或女性时,我希望单选按钮在尝试提交表单时仍保持检查状态,但不能满足其他验证,而不是自行清除。

$genderValues = ['Male','Female']; 

function ending ($genderVal) { 

     if (isset($_POST['gender']) && ($_POST['gender'] == $genderVal)) { 
      $ending = " checked />"; 
       return $ending; 
     } 
     else{ 
      $ending = "/>"; 
      return $ending; 
     } 
    } 

    foreach($genderValues as $genderVal){ 

     echo "<label class='radio' for=" . $genderVal . ">" . $genderVal . "</label> 
     <input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal); 

    } 
+0

问题不明确。你能更新吗? – Drudge

+0

@Drudge好的,我做到了。这有帮助吗? –

回答

1

改变这一行:

<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal); 

要这样:

<input type='radio' name='gender' id=" . $genderVal . " value='" . $genderVal . "' " . ending($genderVal); 
+0

谢谢,这工作。我以前尝试过这样做,但是当我发现我的代码没有将值放在引号内时,我只是觉得php很聪明,并且认为它本身就是一个好东西。最好的做法是为id做同样的事情吗? –