zoukankan      html  css  js  c++  java
  • 修正EasyUI的BUG——Form中存在FileBox时的数据载入错误

    使用EasyUI载入服务端返回的数据时经常使用 $('#fm').form('load', row); 实现,既方便又简洁,可是。当Form中包括有FileBox时,代码就会报错,经过跟踪发现。由于EasyUI试图向隐藏的文件标签<input type="file">赋值。导致了错误。其源码例如以下:

    initValue: function(jq, _4d9) {
    	return jq.each(function() {
    		var _4da = $.data(this, "textbox");
    		_4da.options.value = "";
    		$(this).textbox("setText", _4d9);
    		_4da.textbox.find(".textbox-value").val(_4d9);
    		$(this).val(_4d9);
    	});
    },
    错误由 _4da.textbox.find(".textbox-value").val(_4d9); 这句导致的,故知须要把它改写一下。使其在处理文件标签时跳过该赋值过程就可以。改动后的代码例如以下:

    initValue: function(jq, _4d9) {
        return jq.each(function() {
            var _4da = $.data(this, "textbox");
            _4da.options.value = "";
            $(this).textbox("setText", _4d9);
            var obj = _4da.textbox.find(".textbox-value");
            if (obj.attr("type") != "file") {
                obj.val(_4d9);
            }				
            $(this).val(_4d9);
        });
    }
    当然,若你这个页面不过显示载入后的数据。那么没有什么问题,若你还能够再次提交,做Update操作。那么你得小心了,由于此时尽管页面上显示了文件的server路径,可是。终于实际提交到server的文件标签内并没有实际指向不论什么本地文件。故提交出去的文件是空的。



  • 相关阅读:
    nginx端口被占用解决方案
    linux安装pip报错
    小程序学习-小程序特点及适用场景
    总结行内元素与块级元素
    重装系统之无法在驱动器0的分区1上安装windows
    重装系统之win10不能进入bios界面
    重装系统之U盘设为第一启动项
    重装系统之制作U盘启动盘
    Vue-条件渲染v-if与v-show
    Cookie与Session
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7007698.html
Copyright © 2011-2022 走看看