Php 在Chrome和IE中首次选择后,所需下拉字段错误未消失
我有一个包含不同类型输入字段的PHP表单,其中使用了jQuery验证插件的必填字段。Firefox中的一切都很好,即如果用户没有填写必填字段,他将在每个字段旁边出现错误,并且只要他在该字段中插入数据,错误就会消失 问题:在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
<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[]时,每个字段的错误消息根本不起作用!我的意思是我刚收到一条在页面顶部的消息