Resolved validation conflict with readonly

rgqancy發表於2017-01-22
/**
 * 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);
    });
}

 

相關文章