2016-12-17 3 views
0

私はこのPHPのラジオ形式を持つ:PHPのラジオ・フォーム(1つの答えだけ正しいものを作る)

{ 
$agreements = jm_get_application_setting('application_agreements', ''); 
if(empty($agreements)) return; 

$questions = explode("\n", $agreements); 
if (!empty($questions)): 
    foreach ($questions as $index => $question) : 
     ?> 
     <div class="form-group"> 
      <p><strong for="question-<?php echo sanitize_title($question); ?>" ><?php echo $question; ?></strong></p> 
      <div class="form-control-flat"> 
       <label class="radio"> 
        <input type="radio" name="_noo_application_answer_<?php echo $index; ?>" value="1" required><i></i><?php echo esc_html__('Do il consenso', 'noo'); ?> 
       </label> 
      </div> 
      <div class="form-control-flat"> 
       <label class="radio"> 
        <input type="radio" name="_noo_application_answer_<?php echo $index; ?>" value="0" required><i></i><?php echo esc_html__('Nego il consenso', 'noo'); ?> 
       </label> 
      </div> 

      <input type="hidden" name="_noo_questions[]" value="<?php echo esc_attr($question); ?>"/> 
     </div> 

     <?php 
    endforeach; 
endif; 

} 

どのようにフォームを検証するために必要な唯一の答えを作ることができますか? 私は..最初のものを選択しなければなりませんが、 "法的理由"のために2番目のものも表示する必要があります。 そのまま、このフォームは両方の選択を受け入れ可能とします。

答えて

0

条件の変数を設定し、最初の繰り返しの最後に値を変更することができます。

if (!empty($questions)): 
    $first = 1; // <----- HERE 
    foreach ($questions as $index => $question) : 
     ?> 
     <div class="form-group"> 
      <p><strong for="question-<?php echo sanitize_title($question); ?>" ><?php echo $question; ?></strong></p> 
      <div class="form-control-flat"> 
       <label class="radio"> 
        <input type="radio" 
          name="_noo_application_answer_<?php echo $index; ?>"    
          value="1" 
          <?php echo $first ? "required" : ""; ?>> // <----- HERE 
          <i></i><?php echo esc_html__('Do il consenso', 'noo'); ?> 
       </label> 
      </div> 
      <div class="form-control-flat"> 
       <label class="radio"> 
        <input type="radio" 
          name="_noo_application_answer_<?php echo $index; ?>" 
          value="0" 
          <?php echo $first ? "required" : ""; ?>> // <----- HERE 
          <i></i><?php echo esc_html__('Nego il consenso', 'noo'); ?> 
       </label> 
      </div> 

      <input type="hidden" name="_noo_questions[]" value="<?php echo esc_attr($question); ?>"/> 
     </div> 

     <?php 
    $first = 0; // <----- HERE 
    endforeach; 
endif; 
関連する問題