Javascript中的弹出警报消息
如果未选择单选按钮,“我的代码”将弹出警报。 我的问题是,只有当你选择一个问题时,它才会弹出。例如,我在问题1中选择了一个答案,但在问题2中没有选择。所以它给出了一个警告:必须选择第二个问题!但我的问题是,如果你不选择任何,它不会提醒我任何事情。如果我没有选择任何东西,它应该弹出,2个警报,必须选择问题1,然后,另一个警报,必须选择问题2!任何帮助都将不胜感激,谢谢Javascript中的弹出警报消息,javascript,jquery,html,Javascript,Jquery,Html,如果未选择单选按钮,“我的代码”将弹出警报。 我的问题是,只有当你选择一个问题时,它才会弹出。例如,我在问题1中选择了一个答案,但在问题2中没有选择。所以它给出了一个警告:必须选择第二个问题!但我的问题是,如果你不选择任何,它不会提醒我任何事情。如果我没有选择任何东西,它应该弹出,2个警报,必须选择问题1,然后,另一个警报,必须选择问题2!任何帮助都将不胜感激,谢谢 <html> <head> <script> functi
<html>
<head>
<script>
function checkAnswers(){
var retval = false;
var inputs = document.getElementsByTagName('input');
for(i=0;i<inputs.length;i++){
var inputName = inputs[i].getAttribute('name');
// var msg = document.getElementById('msg-' + inputName);
var checker = document.getElementsByName(inputName);
var counter = false;
for(j=0;j<checker.length;j++){
if(checker[j].checked == true){
counter = true;
i += 4;
break;
}
}
if(counter == false){
alert("Must answer question number" + " " + inputName + "!");
retval = false;
i += 4;
}
}
return retval;
}
</script>
</head>
<body>
<form name="myForm" onsubmit="return checkAnswers()" id="form">
<h1>QUESTIONS</h1>
<h3>Question No. 1.)</h3>What makes you smile?<br />
<input name="one" type="radio" value="yes" />A. Burger<br />
<input name="one" type="radio" value="no" />B. Pizza <br />
<input name="one" type="radio" value="no" />C.Sunrise <br />
<input name="one" type="radio" value="no" />D. Kitkat<br />
<span id="msg-one"></span><br />
<h3>Question No. 2.)</h3>What's your favorite day?<br />
<input name="two" type="radio" value="no" />A. Hi<br />
<input name="two" type="radio" value="yes" />B. Hello<br />
<input name="two" type="radio" value="no" />C. Ahh<br />
<input name="two" type="radio" value="no" />D. Kitkat<br />
<span id="msg-two"></span><br/>
<input type="button" name='submit' value="Submit" /><br />
<span id="score"></span><br />
</form>
</body>
</html>
您已经使用变量i嵌套了for循环。尝试更改此选项,使每个循环都有一个理想的描述性变量名。自从添加后,我将建议使用jQuery的解决方案:
function checkAnswers() {
var questions = {};
$('#form input[type="radio"]').each(function() {
// add all questions
questions[this.name] = true;
}).filter(":checked").each(function() {
// remove questions that have an answer
delete questions[this.name];
});
for (var k in questions) {
alert("Must answer question number " + k + "!");
}
}
这里用问句
但是您的submit按钮也应该具有submit而不是button类型,或者您需要添加onclick处理程序:
我试过了,但如果我没有选择任何问题,就不起作用。是否可以使用布尔语句?在我身边尝试了你的代码,似乎有效,只需将按钮类型从按钮类型更改为提交类型,并获得2个警报。是的,你是对的!谢谢:嘿,我还有一个问题。如何高亮显示尚未选择的问题编号?
<input type="submit" name='submit' value="Submit" />