PHP/HTML表单和Javascript确认框
我使用LimeSurvey工具创建了一个调查。对于一些定制,我必须实现以下任务 截图: 在这里,当用户单击Next时,如果有任何问题没有回答,我想通知用户他们没有回答 所以,当他们单击Next时,我想看到一个确认框Javascript,它显示一条消息说您错过了。一切都会好起来的,转到下一页按钮,我会留在这里回答按钮 这是好的,继续下一页按钮应该做下一步按钮相同的功能 我会呆在这里,回答按钮会让用户呆在同一个页面上 我知道使用Javascript是可能的,但我不确定如何实现这个特定任务 我只知道下一步按钮的ID是movenextbtn 但是,当单击“下一步”按钮并使用“确认”框时,我将如何检查问题是否未得到回答?我将如何进入下一页或保持在同一页 任何帮助都将不胜感激PHP/HTML表单和Javascript确认框,javascript,php,jquery,limesurvey,Javascript,Php,Jquery,Limesurvey,我使用LimeSurvey工具创建了一个调查。对于一些定制,我必须实现以下任务 截图: 在这里,当用户单击Next时,如果有任何问题没有回答,我想通知用户他们没有回答 所以,当他们单击Next时,我想看到一个确认框Javascript,它显示一条消息说您错过了。一切都会好起来的,转到下一页按钮,我会留在这里回答按钮 这是好的,继续下一页按钮应该做下一步按钮相同的功能 我会呆在这里,回答按钮会让用户呆在同一个页面上 我知道使用Javascript是可能的,但我不确定如何实现这个特定任务 我只知道下
提前感谢。这段代码假定您只对表单上具有id为movenextbtn的按钮的单选按钮感兴趣。您必须将其插入页面中的某个位置
<script>
// wait for everything to load
window.addEventListener('load', function() {
// let's check radio buttons when the next button is clicked
var nextButton = document.getElementById('movenextbtn');
var form = nextButton.form;
nextButton.addEventListener('click', function(e) {
var radioElements = form.querySelectorAll('input[type="radio"]');
var currentRadioName;
var seenRadioName;
var index;
var confirmation;
for(index = 0; index < radioElements.length; index += 1) {
currentRadioName = radioElements[index].name;
// check if we've already seen this named radio button set
if(seenRadioName != currentRadioName) {
// check that there's a checked radio button for this set of named radio buttons
if(!form.querySelectorAll('input[type="radio"][name="' + currentRadioName + '"]:checked').length) {
// didn't answer a question, ask if that's ok
confirmation = confirm("You have missed answering a question.\n\nOK to Continue?\nCancel form submission and answer?");
if(confirmation) {
// the user clicked ok, let's submit the form
return true;
}
else {
// the user clicked cancel, let's stop the form submission
e.preventDefault();
e.stopPropagation();
return false;
}
}
// remember that we already checked this set of radio buttons
seenRadioName = currentRadioName;
}
}
}, false);
}, false);
</script>
您可以在此处进行更多操作:将此脚本放在数组问题的源代码中:
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
// Identify this question
var thisQuestion = $('#question'+{QID}+'');
// Listener on the "Next" button
$('#movenextbtn').click(function(event){
// Compare number of clicked radios to number of array rows
if($('input.radio:checked', thisQuestion ).length != $('tr.answers-list',thisQuestion ).length) {
// Pop up a confirm message
if(confirm('You have not answered all rows.\n\nAre you sure you want to continue?')) {
return true;
}
else {
return false;
}
}
});
});
</script>
类似的东西。。但是这一点帮助都没有。你必须提供更多的信息。最起码,单选按钮的类别/id只需将问题设置为强制性,并在调查中添加“无答案”选项,无需过于复杂。我可以从Firebug中看出,answertext是表中包含单选按钮问题的类别。answer_cell_001 answer item radio item是收音机的类别button@Pwner不,我们正在做一项研究调查,不能强制人们回答,同时我们也不准备通知他们是否错误地遗漏了什么。。。它在一定程度上工作正常,但在confirmbox之后,“下一步”按钮就不起作用了,你知道如何修复它吗?你能更具体一点吗?无论我是否回答了所有问题,还是选择了在未回答后确认,“下一步”按钮都可以正常工作。你的作品可以在我可以访问的公共URL上找到吗?你有没有看到它在“真正的救世主”这里和利梅斯维的论坛上发挥作用。尊敬的穆查·格雷西亚斯。