带有单选按钮的PHP表单 - 只需要一个答案,第二个可选

时间:2016-12-17 19:04:10

标签: php jquery forms

我有这个带有单选按钮的PHP表单:

{
$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;

}

如何只需要一个答案来验证表单?

我的意思是......只是第一个必须被选中,但我还需要显示第二个用于&#34;法律原因&#34;。

按原样,此表单接受两种选择都是可接受的。

1 个答案:

答案 0 :(得分: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;