Resolved validation conflict with readonly

/**
 * Bug绕过去方案WorkAround
 * Bug描述:
 * JQuery的Validation的和form的input元素设为readonly,一对不可调和的矛盾:
 * 一个设置为required的input元素,永久设置为readonly,表单提交时,如果该字段值为空,
 * Validation功能就不能正常工作;反之,如果不设置readonly,又没法限制用户胡乱粘贴非法数据。
 * http://stackoverflow.com/questions/26838839/how-can-i-enable-jquery-validation-on-readonly-fields
 * para elementId : 元素名称
 */
function resolvedValidationConflictWithReadonly(elementId){
    $(document).on("focusin", elementId, function() {
        $(this).prop('readonly', true);
    });

    $(document).on("focusout", elementId, function() {
       $(this).prop('readonly', false);
    });
}
/**
 * 用于弹框上
 * @param elementId
 */
function resolvedValidationConflictWithReadonlyParent(elementId){
    //不能改成document
    $parent("body").on("focusin", elementId, function() {
        $(this).prop('readonly', true);
    });

    $parent("body").on("focusout", elementId, function() {
       $(this).prop('readonly', false);
    });
}

 

posted @ 2017-01-22 17:52  任国强  阅读(249)  评论(0编辑  收藏  举报