Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将jQuery脚本与测试结果连接起来_Php_Jquery_Forms - Fatal编程技术网

Php 将jQuery脚本与测试结果连接起来

Php 将jQuery脚本与测试结果连接起来,php,jquery,forms,Php,Jquery,Forms,我一直在试图找到一种方法,在用户选择了每个问题的答案之前,让动态测验中的提交按钮变得毫无用处。我可以简单地在答案的结束标签前插入“required”,但我有三种不同类型的答案——包括要求用户选择任意数量复选框的问题 解决方案似乎是一个jQuery脚本,需要为每个问题进行选择。但我什么都做不到。我想也许我只是没有把我的脚本和我的表单正确地联系起来 这是我的测试代码的一个示例: <div class="Answer"> <label class="Wide" for="q'.$

我一直在试图找到一种方法,在用户选择了每个问题的答案之前,让动态测验中的提交按钮变得毫无用处。我可以简单地在答案的结束标签前插入“required”,但我有三种不同类型的答案——包括要求用户选择任意数量复选框的问题

解决方案似乎是一个jQuery脚本,需要为每个问题进行选择。但我什么都做不到。我想也许我只是没有把我的脚本和我的表单正确地联系起来

这是我的测试代码的一个示例:

<div class="Answer">
  <label class="Wide" for="q'.$QID.'-'.$Value.'"><div class="Radio"><input type="radio" name="q'.$QID.'[]" id="q'.$QID.'-'.$Value.'" value="'.$Value.'" style="display: none;"> '.$Value.'. '.$QA.'</div></label></div>

“.$Value.”$质量保证。”
这是HTML的外观:

<li id="q7">
  <div class="Question">Media that pretend to be opposed to the mainstream media are called...</div>
  <div class="Answer">
    <label class="Wide" for="q7-A"><div class="Radio"><input type="radio" name="q7[]" id="q7-A" value="A" style="display: none;"> A. alternative media</div></label></div>
  <div class="Answer">
    <label class="Wide" for="q7-B"><div class="Radio"><input type="radio" name="q7[]" id="q7-B" value="B" style="display: none;"> B. soapboxes</div></label></div>
  <div class="Answer">
    <label class="Wide" for="q7-C"><div class="Radio"><input type="radio" name="q7[]" id="q7-C" value="C" style="display: none;"> C. underground media</div></label></div>
  <div class="Answer">
    <label class="Wide" for="q7-D"><div class="Radio"><input type="radio" name="q7[]" id="q7-D" value="D" style="display: none;"> D. yellow journalism</div></label></div>
</li>
  • 假装反对主流媒体的媒体被称为。。。 A.替代媒体 B.肥皂盒 C.地下媒体 D.黄色新闻
  • 这就是处理一切的形式:

    <div id="quiz2" rel="key" style="margin-top: 50px;">
      <form action="grade.php" method="post" id="quiz">
        <ol>
          <li style="display: none;">
    <?php
    echo join ($Base, '');
    ?>
        </li>
        </ol>
    
        <input type="hidden" name="PreviousURL" value="<?php echo $MyURL; ?>" id="url" />
        <input type="hidden" name="user_token" value="<?php echo isset($_POST['user_token']) ? $_POST['user_token'] : '' ; ?>" />
        <input type="submit" value="Submit Quiz" />
      </form>
    </div><!-- quiz-container -->
    
    
    

  • 回显“错误!”??这行吗?我不能回显任何内容,因为我一按提交按钮,就被转发到下一页。我的意思是Javascript中有一个名为“回显”的命令吗?哦,对不起。我想我不是很确定;我对Javascript不太熟悉。
    <script>
    var inputs = $('#quiz :input');
    
    inputs.each(function(index, value) {
      if ($(value).val() == '') { //check if the input is empty 
        //return the error
        echo 'ERROR!';
      }
    });
    </script>
    
    <script>
    function checkInput() {
      var inputs = $("input");
      check = 0;
      for (var i = 0; i < inputs.size(); i++) {
        var iVal = $(inputs[i]).val();
    
        if (iVal !== '' && iVal !== null) {
         $(inputs[i]).removeClass('input-error');
       } else {
      $(inputs[i]).addClass('input-error');
      $(inputs[i]).focus(function() {
        $("input").removeClass('input-error');
        $(inputs[i]).off('focus');
        });
      check++;
       }
      }
    
    if (check > 0) {
      return false;
     } else {
     return true;
     }
    }
    
    checkInput()
    </script>