PHP/HTML表单和Javascript确认框

PHP/HTML表单和Javascript确认框,javascript,php,jquery,limesurvey,Javascript,Php,Jquery,Limesurvey,我使用LimeSurvey工具创建了一个调查。对于一些定制,我必须实现以下任务 截图: 在这里,当用户单击Next时,如果有任何问题没有回答,我想通知用户他们没有回答 所以,当他们单击Next时,我想看到一个确认框Javascript,它显示一条消息说您错过了。一切都会好起来的,转到下一页按钮,我会留在这里回答按钮 这是好的,继续下一页按钮应该做下一步按钮相同的功能 我会呆在这里,回答按钮会让用户呆在同一个页面上 我知道使用Javascript是可能的,但我不确定如何实现这个特定任务 我只知道下

我使用LimeSurvey工具创建了一个调查。对于一些定制,我必须实现以下任务

截图:

在这里,当用户单击Next时,如果有任何问题没有回答,我想通知用户他们没有回答

所以,当他们单击Next时,我想看到一个确认框Javascript,它显示一条消息说您错过了。一切都会好起来的,转到下一页按钮,我会留在这里回答按钮

这是好的,继续下一页按钮应该做下一步按钮相同的功能

我会呆在这里,回答按钮会让用户呆在同一个页面上

我知道使用Javascript是可能的,但我不确定如何实现这个特定任务

我只知道下一步按钮的ID是movenextbtn

但是,当单击“下一步”按钮并使用“确认”框时,我将如何检查问题是否未得到回答?我将如何进入下一页或保持在同一页

任何帮助都将不胜感激


提前感谢。

这段代码假定您只对表单上具有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上找到吗?你有没有看到它在“真正的救世主”这里和利梅斯维的论坛上发挥作用。尊敬的穆查·格雷西亚斯。