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的文件标签内并没有实际指向不论什么本地文件。故提交出去的文件是空的。



  • 相关阅读:
    微信小程序排坑
    webpack——3.x版本总结
    干货网站
    转码器babel
    es6——之初体验
    移动端适配不同屏幕分辨率——rem布局
    vuejs学习总计——数据传值篇
    vue.js学习总计---路由篇
    vuejs学习总结---基础篇
    vuejs搭建的项目对于ie浏览器的处理
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7007698.html
Copyright © 2011-2022 走看看