0

ユーザーが1から5までの評価を与えることができるフォームがあります。これはラジオボックスを介して行われます。しかし、チェックせずにユーザーが同じボタンを複数回クリックできるようにするにはどうすればよいですか?
コードは単純に書かれています

                echo "<input type='hidden' name='risk' />
            <td>1<input type='radio' name='question[]' id=1 value=1 onclick='calculate_score(".$number.",this.value)'/></td>
            <td>2<input type='radio' name='question[]' id=2 value=2 onclick='calculate_score(".$number.",this.value)'/></td>
            <td>3<input type='radio' name='question[]' id=3 value=3 onclick='calculate_score(".$number.",this.value)'/></td>
            <td>4<input type='radio' name='question[]' id=4 value=4 onclick='calculate_score(".$number.",this.value)'/></td>
            <td>5<input type='radio' name='question[]' id=5 value=5 onclick='calculate_score(".$number.",this.value)'/></td>
            </table></form>";

誰かがこれを処理する方法を教えてもらえますか?上記のコードはコードからの抜粋であり、実際に機能することに注意してください。純粋関数型です。このラジオボックスをクリックすると、javascript関数に移動します。そこでチェックを作成しますか?そのようなことをどのように実行しますか?

4

3 に答える 3

1

チェックしたばかりのボタンを無効にして、他のすべてを有効にすることができます。ユーザーがその値を変更すると、以前のボタンが有効になり、新しいボタンが無効になり、ユーザーがそれ以上クリックするのを防ぐことができます

于 2012-05-03T09:37:41.770 に答える
1

calculate_score()ボタンのチェックまたはチェック解除のアクションに従ってではなく、ユーザーの選択のステータスに従って計算するように、関数を作成する必要があります。ユーザーが自分の選択を変更できないようにすると、使いやすさと機能性が低下します (おそらく特別なゲームやテストを除く)。

于 2012-05-03T09:42:50.067 に答える
0

優れたフレームワーク (jQuery など) を使用し、javascript ロジックをタグに入れることをお勧めしますが、<script>このようにした場合は、理由が必要です。クリックされた入力要素を無効にするには、次のスニペットを試してください。

// i am assuming (\") will escape the quote (") character to echo
onclick='calculate_score(".$number.",this.value); this.onclick=\"\";'
于 2012-05-03T09:41:12.237 に答える