我正在为我的项目使用以下验证器:http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/。
我遇到了一些困难,在使用Chosen(http://harvesthq.github.com/chosen/)时将其替换为默认的“select”标签和一些div,并使select标签隐藏。
基本上这与此处描述的问题完全相同:https://github.com/harvesthq/chosen/issues/473但它不应该作为选择的问题而是真正的问题,而是验证者。
所以问题是 - 是否有任何简单的解决方案可以使用该验证器来隐藏隐藏字段?我已经尝试删除那些说忽略隐藏字段的脚本源的所有部分,但这并不能解决问题。每当我提交表单时,它都会验证除隐藏字段之外的所有字段。
提前感谢您提供任何帮助
答案 0 :(得分:2)
使用'select prettifier'jQuery脚本时,我遇到了类似的问题。而不是隐藏原始选择,正如您所见,这意味着jQuery验证忽略它,我将它设置为position
到absolute
并将其左侧位置设置在页面之外:
.hidden-field {
position: absolute;
left: -9999px;
}
虽然可能有一个更优雅的解决方案。
答案 1 :(得分:2)
上述解决方案不是理想的解决方案。如果你回到上面引用的github问题,你会看到一个更好的解决方案,不涉及“黑客”你正在使用的任何插件。
答案 2 :(得分:2)
这是我最终解决的解决方案,以防某些人也需要它:
function validateChosen(targetId){
if ($('#'+targetId).val()=='') {
valid=false;
$('#'+targetId+'_chzn').validationEngine('showPrompt', '* Field required','','topRight',true);
} else {
$("."+targetId+"_chznformError").fadeOut("normal",function(){
$(this).remove();
});
}
}