怎么利用JavaScript对该网页中的选择题结果进行评判?题目如下

代码如下,怎么利用javascript来检查这道题目的答案?<html><head><title>JS与表单</title></head><body><p></p><fo... 代码如下,怎么利用javascript 来检查这道题目的答案?
<html>
<head>

<title>JS与表单</title>
</head>

<body>

<p> </p>
<form id="form1" name="form1" method="post" action="">
<p>请问你知道岳阳楼始建于哪个朝代吗?</p>
<p>
<label>
<input type="radio" name="c" value="1" />
三国</label>
<br />
<label>
<input type="radio" name="c" value="2" />
两晋南北朝</label>
<br />
<label>
<input type="radio" name="c" value="3" />
唐朝</label>
<br />
<label>
<input type="radio" name="c" value="4" />
</label>
<label>宋朝</label>
<br />
<br />
<input type="button" name="Submit" value="提交结果"/>
</p>
</form>
</body>
</html>
展开
 我来答
百度网友c8ccabb
2013-11-18 · TA获得超过1756个赞
知道大有可为答主
回答量:826
采纳率:0%
帮助的人:1167万
展开全部

一般性的前台校验和判断都是通过javascrip脚本来实现,需要在你网页中增加如下脚本,可能比较多,但应该是满足你的要求。

<script>
function checkAnswer() {
// 获取名称为c的所有单选项
        var chkObjs = document.getElementsByName("c");
        var chk;
        for(var i=0;i<chkObjs.length;i++){
         // 循环选中的选项,并记录到chk变量中
            if(chkObjs[i].checked){
                chk = chkObjs[i];
                break;
            }
        }
        // 判断选择结果是否正确
        var isOk = true;
        var msg = "";
        if (chk) {
         // 如果已选择答案,记录选择项的值
         var val = chk.value;
         // 提示选择项(chk.nextSibling.textContent是用来显示后面的Label文字)
         msg = "您选择的答案是:" + chk.nextSibling.textContent;
         if (val != 1) {
         // 假设我们正确答案是第一项,对应的value值是1,这里我们进行答案的正确性判断。
         // 此处表示答案不正确
         isOk = false;
         }
         msg += "\n答案"+ (isOk?"正确":"错误");
        } else {
         // 如果未选择答案
         isOk = false;
         msg = '请选择答案!';
        }
        alert(msg);
        return isOk;
}
</script>

再在你的按键上增加onClick事件:

<input type="button" name="Submit" value="提交结果" onclick="checkAnswer();"/>

此时,你点选择一个答案时,点击提交,会提示选择的结果是什么以及选择是否正确。


完整代码:

<html>
<head>
<title>JS与表单</title>
<meta http-equiv="content-type" content="text/html;charset=gbk" />
<script>
function checkAnswer() {
// 获取名称为c的所有单选项
        var chkObjs = document.getElementsByName("c");
        var chk;
        for(var i=0;i<chkObjs.length;i++){
         // 循环选中的选项,并记录到chk变量中
            if(chkObjs[i].checked){
                chk = chkObjs[i];
                break;
            }
        }
        // 判断选择结果是否正确
        var isOk = true;
        var msg = "";
        if (chk) {
         // 如果已选择答案,记录选择项的值
         var val = chk.value;
         // 提示选择项(chk.nextSibling.textContent是用来显示后面的Label文字)
         msg = "您选择的答案是:" + chk.nextSibling.textContent;
         if (val != 1) {
         // 假设我们正确答案是第一项,对应的value值是1,这里我们进行答案的正确性判断。
         // 此处表示答案不正确
         isOk = false;
         }
         msg += "\n答案"+ (isOk?"正确":"错误");
        } else {
         // 如果未选择答案
         isOk = false;
         msg = '请选择答案!';
        }
        alert(msg);
        return isOk;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
  <p>请问你知道岳阳楼始建于哪个朝代吗?</p>
  <p>
    <label>
     <input type="radio" name="c" value="1" />三国</label>
    <br />
    <label>
     <input type="radio" name="c" value="2" />两晋南北朝</label>
    <br />
    <label>
<input type="radio" name="c" value="3" />唐朝</label>
    <br />
    <label>
     <input type="radio" name="c" value="4" />
    </label>
    <label>宋朝</label>
<br />
    <input type="button" name="Submit" value="提交结果" onclick="checkAnswer();"/>
  </p>
</form>
</body>
</html>
匿名用户
2013-11-17
展开全部

提交的时候根据不同的value值进行输出。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式