【问题标题】:making check boxes clickable once in javascript?在javascript中使复选框可单击一次?
【发布时间】:2010-04-28 22:42:16
【问题描述】:

对不起,我是 javascript 的绝对菜鸟。

我已经为一个简单的测验制作了一个表格,但不知道如何让收音机只点击一次。

我可以选择两个或三个按钮作为我的答案。我想改变这个。

<form name = "Beginners Quiz">

<p>Film speed refers to:</p>
<p><input type="radio" name="Answer 1" id="Answer1" value = "a" onclick =  "recordAnswer(1,this.value"/>How long it takes to develop film. <br/>
<p><input type="radio" name="Answer 2" id="Answer2" value = "b" onclick = "recordAnswer(1,this.value"/>How fast film moves through film-transport system.  <br/>
<p><input type="radio" name="Answer 3" id="Answer3" value = "c" onclick = "recordAnswer(1,this.value"/> How sensitive the film is to light.  <br/>
<p><input type="radio" name="Answer 4" id="Answer4" value = "d" onclick = "recordAnswer(1,this.value"/> None of these makes sense. <br/>

我一直在关注 w3shcools 教程,但无济于事。有人能解释一下吗?

【问题讨论】:

    标签: javascript radio-button


    【解决方案1】:

    它们都应该具有相同的name 属性

    【讨论】:

      【解决方案2】:

      您想作为一个组的所有单选按钮的名称必须相同。

      【讨论】:

      • +1 的答案实际上解释了如何解决问题和好的代码,而不是仅仅为他工作。
      【解决方案3】:

      试试这个

      <p>Film speed refers to:</p>
      <p><input type="radio" name="Answer" id="Answer1" value = "a" onclick =  "recordAnswer(1,this.value"/>How long it takes to develop film. <br/>
      <p><input type="radio" name="Answer" id="Answer2" value = "b" onclick = "recordAnswer(1,this.value"/>How fast film moves through film-transport system.  <br/>
      <p><input type="radio" name="Answer" id="Answer3" value = "c" onclick = "recordAnswer(1,this.value"/> How sensitive the film is to light.  <br/>
      <p><input type="radio" name="Answer" id="Answer4" value = "d" onclick = "recordAnswer(1,this.value"/> None of these makes sense. <br/>
      

      【讨论】:

        【解决方案4】:

        这是一种方法... 编辑 不需要 Javascript,因为我使用收音机已经有一段时间了。

        在正文中,你有这个:

        <form name="beginners_quiz">
        <fieldset id="radios"><legend id="quiz">Film speed refers to:</legend>
        <input type="radio" name="answer" id="Answer1" value="a" onclick="recordAnswer(1,this.value);" />How long it takes to develop film.<br/>
        <input type="radio" name="answer" id="Answer2" value="b" onclick="recordAnswer(1,this.value);" />How fast film moves through film-transport system.<br/>
        <input type="radio" name="answer" id="Answer3" value="c" onclick="recordAnswer(1,this.value);" />How sensitive the film is to light.<br/>
        <input type="radio" name="answer" id="Answer4" value="d" onclick="recordAnswer(1,this.value);" />None of these makes sense.<br/>
        </fieldset>
        </form>
        

        应该这样做。

        【讨论】:

        • no javascript 很好,但底部的 score 函数不需要 javascript 吗?
        • 当然,执行onclick event 将触发recordAnswer function。不过,老实说,我不明白您为什么在所有 4 个无线电中都使用 1 作为第一个参数。也许这与其他事情有关,例如测验中的第一个问题。我假设您已经编写了recordAnswer 函数?抱歉,我在上面的代码中没有看到任何得分函数。如果你想自动计算分数,你可以使用js,但你不应该有js脚本源代码中问题的答案。应该是服务器端 IMO。
        猜你喜欢
        • 1970-01-01
        • 2017-01-13
        • 2021-02-21
        • 1970-01-01
        • 2015-06-15
        • 2016-11-14
        • 2018-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多