javascript - 添加验证以查看是否未选择单选按钮

标签 javascript php html

我有以下代码:

 <li>1. question 1</li>
<li>
     <input type="radio" name="question1" id="sd1" value="1">Strongly Disagree
     <input type="radio" name="question1" id="d1" value="2">Disagree
     <input type="radio" name="question1" id="n1" value="3">Neither Agree Nor Disagree
    <input type="radio" name="question1" id="a1" value="4">Agree
     <input type="radio" name="question1" id="sa1" value="5">Strongly Agree
</li>
<br/><br/>

<li>2.  question 2 </li>
<li>
     <input type="radio" name="question2" id="sd2" value="1">Strongly Disagree
     <input type="radio" name="question2" id="d2" value="2">Disagree
     <input type="radio" name="question2" id="n2" value="3">Neither Agree Nor Disagree
    <input type="radio" name="question2" id="a2" value="4">Agree
     <input type="radio" name="question2" id="sa2" value="5">Strongly Agree
</li>
<br/><br/>

<li>3.  question 3</li>
<li>
     <input type="radio" name="question3" id="sd3" value="1">Strongly Disagree
     <input type="radio" name="question3" id="d3" value="2">Disagree
     <input type="radio" name="question3" id="n3" value="3">Neither Agree Nor Disagree
     <input type="radio" name="question3" id="a3" value="4">Agree
     <input type="radio" name="question3" id="sa3" value="5">Strongly Agree
</li>
<br/><br/>

  <input type="submit" value="Submit" name="Submit" id="Submit" />

我有这样的30个问题。我的要求是用户必须回答所有 30 个问题。

我如何编写 javascript 函数,以便在用户甚至没有回答其中一个问题时向他显示一条消息。 编辑:

我的 javascript 问题是这样的:

   if ( (thisfrm.question3[0].checked == false) || (thisfrm.question3[1].checked == false) || (thisfrm.question3[2].checked == false) || (thisfrm.question3[3].checked == false) || (thisfrm.question3[4].checked == false))
{
    alert('Please answer question 1');
    return false;
}

上面的代码每道题都重复一遍,没有循环。即它是为每个问题编写的。但即使所有问题都回答了,它仍然显示请回答问题 1

最佳答案

此方法使用 jQuery 并检查一组答案中未选中的单选按钮

HTML - 为您的问题添加一个类 <li>

<li>1. question 1</li>
<li class="option">
     <input type="radio" name="question1" id="sd1" value="1">Strongly Disagree
     <input type="radio" name="question1" id="d1" value="2">Disagree
     <input type="radio" name="question1" id="n1" value="3">Neither Agree Nor Disagree
     <input type="radio" name="question1" id="a1" value="4">Agree
     <input type="radio" name="question1" id="sa1" value="5">Strongly Agree
</li>

Javascript

// Delegate submit action
$(document).on('submit', 'form', function () {

    var validate = true;
    var unanswered = new Array();

    // Loop through available sets
    $('.option').each(function () {
        // Question text
        var question = $(this).prev();
        // Validate
        if (!$(this).find('input').is(':checked')) {
            // Didn't validate ... dispaly alert or do something
            unanswered.push(question.text());
            question.css('color', 'red'); // Highlight unanswered question
            validate = false;
        }
    });

    if (unanswered.length > 0) {
        msg = "Please answer the following questions:\n" + unanswered.join('\n'); 
        alert(msg);
    }
    return validate;
});

此处示例 http://fiddle.jshell.net/6jNpQ/2/

关于javascript - 添加验证以查看是否未选择单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19312459/

相关文章:

javascript - 在dojo中将数据从一个选项卡绑定(bind)到另一个选项卡(在选项卡打开时?)

Javascript:无法让变量 sum 与加法运算符一起使用

javascript - 当按下 ENTER 键时,强制表单发送特定的提交按钮(当有多个时)

javascript - 一页上有多个谷歌可视化表

Javascript 到 wordpress 网站?

javascript - Jquery Accordion : How to target only the child class of a clicked element?

javascript - 使用javascript正确实现创建和删除功能

javascript - 新增数据时如何让滚动条一直在底部

php - 对唯一 ID 使用哈希是错误的吗?

javascript - 使用自定义样式从过滤器中去除 HTML 标签