2

質問ごとに、テキスト入力がに等しいifかどうかを各質問にチェックすることで、ユーザーは1つのチェックボックスボタンオプションのみを選択できます。そうでない場合は、テキスト入力がに等しい場合、ユーザーは複数のチェックボックスボタンオプションを選択できます。 。.ReplyTypeSingle.ReplyTypeMultiple

.ReplyType私の質問は、テキスト入力に応じて単一のボタンまたは複数のボタンが選択された場合にこれを実装する方法ですか?PHPとJavaScriptのどちらが良いですか?

以下は関連するコードです:

<form action='results.php' method='post' id='exam'>

    <?php

//COMPILE OPTION BUTTONS

    function ExpandOptionType($option) { 
        $options = explode('-', $option);
        if(count($options) > 1) {
            $start = array_shift($options);
            $end = array_shift($options);
            do {
                $options[] = $start;
            }while(++$start <= $end);
         }
         else{
            $options = explode(' or ', $option);
         }

         foreach($options as $indivOption) {
             echo '<div class="ck-button"><label class="fixedLabelCheckbox"><input type="checkbox" name="options[]" id="option-' . $indivOption . '" value="' . $indivOption . '" /><span>' . $indivOption . '</span></label></div>';
         }


    }


    foreach ($arrQuestionId as $key=>$question) {

    ?>

    <div class="queWrap">

//DISPLAY QUESTION NUMBER FOR EACH QUESTION
    <p><?php echo htmlspecialchars($arrQuestionNo[$key]);?></p>

//DISPLAY OPTION CHECKBOX BUTTONS FOR EACH QUESTION
    <?php echo ExpandOptionType(htmlspecialchars($arrOptionType[$key])); ?>

//DISPLAY REPLY TYPE TEXT INPUT FOR EACH QUESTION
    <p>Reply Type: <input type='text' class='replyType' name='replytype' value='<?php echo htmlspecialchars($arrReplyType[$key]); ?>' /></p>



    </div>


    <?php

    }

    ?>
4

1 に答える 1

0

JavaScript と PHP の両方の実装を行う必要があります。

JavaScript は、ユーザーがフォームを送信する前に応答を取得するのに適しています。

PHP は重要です。なぜなら、この場合でも、PHP は一貫したデータを取得することを検証する必要があります。

とにかく:単一選択にはラジオボタンを使用し、複数選択にはチェックボックスを使用します。すべてのブラウザーに既に実装されており、そのように使用されることを意図しているわけではありません。ほとんどのユーザーは、この動作を既に学習しており、JavaScript (または PHP) の検証に驚くことはありません。

于 2013-02-12T17:58:02.127 に答える