我想在用户在窗体上的选择列表上进行选择时,动态地禁用我的几个输入字段的parsley.js最大长度。parsley.js - 禁用最大长度验证
我已阅读此thread,但是当我将代码放入我的字段时,香菜不会被触发,而是表单提交,而我不明白为什么。
我看了parsley.js文档,但我无法理解为什么parsley.js验证时,我添加以下代码行忽略:
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '0');
或
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '150');
这是我的代码,以动态TURM对香菜的验证和关闭,当用户更改窗体上的选择列表:
function toggleFormDetails() {
if ($('#id_employment_record_display_type').val() == '8888' || $('#id_employment_record_display_type').val() == '9999') {
//disable the input field.
$('#id_employment_record_position_title').prop('disabled', true);
....
//destroy parsley on the form.
//$('#employment_history_details_form').parsley().destroy();
//disable the parsley maxlength, when the input field is disabled.
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '0');
//reinitialise parsley on the form.
//$('#employment_history_details_form').parsley();
} else {
//enable the input field.
$('#id_employment_record_position_title').prop('disabled', false);
....
//destroy parsley on the form.
//$('#employment_history_details_form').parsley().destroy();
//change the parsley cs error values for all the required form inputs.
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '150');
//reinitialise parsley on the form.
//$('#employment_history_details_form').parsley();
}
}
为什么我必须添加销毁&在窗体上创建欧芹代码(我已经在上面评论过)?
为此编写自定义验证会更好吗?如果是这样,我该怎么做,B/C我的JS代码技能还不够好?
感谢您的回答。这真的帮了我。 – user3354539 2014-09-13 03:10:17