Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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 在Chrome和IE中首次选择后,所需下拉字段错误未消失_Php_Google Chrome_Jquery Plugins_Click_Required - Fatal编程技术网

Php 在Chrome和IE中首次选择后,所需下拉字段错误未消失

Php 在Chrome和IE中首次选择后,所需下拉字段错误未消失,php,google-chrome,jquery-plugins,click,required,Php,Google Chrome,Jquery Plugins,Click,Required,我有一个包含不同类型输入字段的PHP表单,其中使用了jQuery验证插件的必填字段。Firefox中的一切都很好,即如果用户没有填写必填字段,他将在每个字段旁边出现错误,并且只要他在该字段中插入数据,错误就会消失 问题:在Chrome和IE中测试我的表单:如果我没有填写必填字段并尝试提交,我将收到错误,直到此时一切正常,但当我在下拉列表中选择一项时,错误不会消失,直到我选择另一项或单击表单中的某个位置 这是我代码的一部分: <script> $(document).ready(fu

我有一个包含不同类型输入字段的PHP表单,其中使用了jQuery验证插件的必填字段。Firefox中的一切都很好,即如果用户没有填写必填字段,他将在每个字段旁边出现错误,并且只要他在该字段中插入数据,错误就会消失

问题:在Chrome和IE中测试我的表单:如果我没有填写必填字段并尝试提交,我将收到错误,直到此时一切正常,但当我在下拉列表中选择一项时,错误不会消失,直到我选择另一项或单击表单中的某个位置

这是我代码的一部分:

<script>
 $(document).ready(function() {
 $('#formId').validate({ // initialize the plugin
    rules: {
        q1: {
            required: true,
        },
        q2: {
            required: true,
        },
       "q5[]": {
            required: true,
        },
       "q6[]": {
            required: true,
        }
    },

      errorPlacement: function(error, element) {    
       if (element.attr("type") == "radio" || element.attr("type") == "checkbox" || element.attr("name") == "q5[]") {
             error.insertAfter($(element).parents('div').prev($('question')));

         } else {
           error.insertAfter(element);
          }
     }   

   }); 
 });
</script>
下面是html的下拉部分:

<select name="q5[]" multiple="multiple" width="200px" size="10px">
<?php

 require 'vendor/autoload.php';

 $gi = geoip_open('/usr/local/share/GeoIP/GeoIP.dat', GEOIP_STANDARD);
 $ip = $_SERVER['REMOTE_ADDR'];
 $preselect_country = geoip_country_name_by_addr($gi, $ip);
 include('newCountry.php');
 $list_top = "<option>--------------------Leave blank--------------------</option>\n";
 $list_bottom = "";

 while ($line = mysql_fetch_array($result)) {   
   if($preselect_country == $line['country']){
    $list_top .= "<option value=\"{$line['country']}\">{$line['country']}</option>\n";
 }else{
    $list_bottom .= "<option value=\"{$line['country']}\">{$line['country']}   </option>\n";
 }
}
 echo $list_top . $list_bottom;

geoip_close($gi);

 ?> 
</select>

将q5[]更改为q5[],并将q6[]更改为您的js@RamSharma:当我将其更改为q5[]时,每个字段的错误消息根本不起作用!我的意思是我刚收到一条在页面顶部的消息