运行以下代码时遇到一些问题:js:
$(document).ready(function(){
$.validator.addMethod("name", function(value, element) {
return $("#identiPIC_selected_0").val() !== '' && $("#identiPIC_selected_1").val() !== '' ;
}, "Required!");
$("#signin").validate({
groups:{
name : 'identiPIC_selected[]'
},
rules: {
'identiPIC_selected[]': {
required: true,
remote: {
url:"check3.php",
type:"post",
cache: false,
async:false,
data: {
'identiPIC_selected[0]': function() {
return $.trim($("#identiPIC_selected_0").val());
},
'identiPIC_selected[1]': function() {
return $.trim($("#identiPIC_selected_1").val());
}
}
}
}
}
});
});
php是以下内容:
<?php
$captcha = $_POST['identiPIC_selected'];
$identiPIC[0] = "Apple";
$identiPIC[1] = "Flower";
if($captcha === $identiPIC){
echo "true";
} else {
echo "false";
}
?>
和html:
<form id="signin" action="check3.php" method="POST">
<select id="identiPIC_selected_0" name="identiPIC_selected[]">
<option value="">Click to identify</option>
<option>Apple</option>
<option>Cat</option>
<option>Clock</option>
<option>Flower</option>
<option>Fork</option>
</select>
<select id="identiPIC_selected_1" name="identiPIC_selected[]">
<option value="">Click to identify</option>
<option>Apple</option>
<option>Cat</option>
<option>Clock</option>
<option>Flower</option>
<option>Fork</option>
</select>
<input type="submit" id="save" name="save" value="Save"/>
</form>
此代码适用时,除非用户选择错误的第二个“选择”选项,按提交然后修复他的错误然后按下提交它不再提交,所以我的意思是例如:
用户选择:Apple + Cat并单击“保存”按钮,显示错误, 用户解决了问题:Apple + Flower并点击“保存”按钮,它没有提交,即使所有选择都很好。
我补充说:
$("#identiPIC_selected_0").change(function () {
$("#identiPIC_selected_0").removeData("previousValue");
});
$("#identiPIC_selected_1").change(function () {
$("#identiPIC_selected_1").removeData("previousValue");
});
但它似乎没有为我做任何事情。 任何想法? 感谢!!!
答案 0 :(得分:0)
好吧......经过不同的尝试,我认为我找到了解决方案,这似乎有效:
$('#signin').submit(function(){
$("#identiPIC_selected_0").removeData('previousValue');
$("#identiPIC_selected_1").removeData('previousValue');
})