编辑数据-表单回显

最近做的项目中,在对单表进行增删改查的时候,对于数据的编辑都使用了数据回显。

具体使用环境:

列表页面:main.jsp,借助easy-ui的datagrid表格列表显示数据库中查询的数据。选中某条记录进行编辑,在弹出的编辑框-form.jsp中,将选中的数据利用封装的方法,将数据显示到相应的控件上。看两张截图:

实现流程:

main.jsp页面-js方法

function edit(){
    if($("#grid").datagrid("getSelected")==null){
        alert(‘<spring:message code="label.selectEditData"/>‘);
    }
    else{
        getIndexContentWindow().openWin(‘<spring:message code="app.edit"/>‘, "icon-edit", 400, 250, true, "/syspages/system/datajobtype/form.jsp", $("#grid").datagrid("getSelected"), null, thisWin);
    }
}
function getIndexContentWindow(){
    var pageWindow = window;
    while(pageWindow.parent!=null && pageWindow!=pageWindow.parent){
        pageWindow = pageWindow.parent;
    }
    return pageWindow;
}
var modalWindowOpener = null;
    var modalWindowObj = null;
    var gridRowData = null;
    function openWin(title, iconCls, width, height, autoResize, link, data, type, opener, maximized){
        gridRowData = data;
        if(modalWindowObj != null){
            try{
                modalWindowObj.window(‘close‘);
            }catch(e){}
        }
        var modalWindow = document.getElementById("modalWindow");
        var iframe = null;
        if(modalWindow != null){
            modalWindow.parentNode.removeChild(modalWindow);
        }
        $("body").append("<div id=\"modalWindow\"><div style=\"width:100%;height:100%;overflow:hidden;\"><iframe width=\"100%\" height=\"100%\" frameborder=\"0\"></iframe></div></div>");
        modalWindow = document.getElementById("modalWindow");
        iframe = modalWindow.getElementsByTagName("IFRAME")[0];
        if(iframe.attachEvent){
            iframe.attachEvent("onload", function(){
                onWindowContentLoad(data, type, autoResize);
            });
        }
        else{
            iframe.onload = function(){
                onWindowContentLoad(data, type, autoResize);
            };
        }
        modalWindowObj = $(modalWindow).window({
            title:" "+title,
            width:width,
            height:height,
            iconCls:iconCls,
            modal:true,
//          closed:true,
            minimizable:false,
            maximized: !!maximized,
            onRestore:autoResizeWindow
        });
        addBeforeWindowCloseEvent(modalWindowObj);

        modalWindowOpener = opener;
        iframe.src = getRootPath()+link+((link.indexOf("?")>0)?"&":"?")+"data="+new Date();
    }

form.jsp页面-js:

onload = function(){
        var data=getIndexContentWindow().gridRowData;
        if(data!=null){
            var detdata = getIndexContentWindow().gridRowData["description"];
            $(‘#description‘).val(detdata);
        }
    };

这样就可以顺利进行数据回显了。但是,值得注意的是,在编辑窗体中,文本框、下拉框这些都不能是easyui的控件。easyui封装的太好,这回显的效果,对它不起作用。如果是easyui的控件,就要进行手动回显了。

时间: 2024-07-28 14:24:24

编辑数据-表单回显的相关文章

select,radio 表单回显避免使用jquery载入赋值

select,radio 表单回显避免使用jquery载入赋值 注意事项: 复制代码代码如下: <html> <body> <form method="post" action=""> <!-- 如果表单中使用重置功能时,不推荐使用如下代码 --> <input type="radio" name="visible" value="1" />显示&

Form标签表单回显与提交

SpringMVC虽然没有struts2那样强大的标签库,但是form标签也同样实用 1.javabean片段 public class User implements Serializable{ private static final long serialVersionUID = -1684752473484153239L; private String id; private String dept; private String account; private String name

jqgrid 实现行编辑,表单编辑的列联动

这个问题的场景相信大家都遇到过,比如有A,B,C三列,B,C列均为下拉框,但是C列的值是由B列的值来决定的,即C列中的值是动态变化的,变化的依据就是B列中你选择的值.本文给出的是一个实用,简易快捷的实现方式.先看图: 本例子实现的如果是常白班,则班别那一列只显示白班,否则的话,那就显示白晚班.可以看成是两列联动. 实现核心代码为: onSelectRow: function (id) { if (id && id !== lastSel) { jQuery("#TblClassT

MyEclipse数据库教程:查看和编辑数据表

在MyEclipse中使用DB浏览器视图来浏览表和使用表数据.在本教程中,你将学习到: 浏览连接数据库 编辑表数据 持续时间:5分钟 没有MyEclipse?立即下载 1. 浏览表数据 使用表数据工作之前,先建立数据库连接. (1)在数据库浏览器中,展开连接节点. 浏览数据库结构 (2)展开数据结构来显示表的元数据,如表.视图和序列. 浏览表信息 2. 编辑表数据 数据库资源管理器工具提供了一个编辑表视图来帮助你在数据库中编辑已经存在的记录. (1)在数据库浏览器中,右键单击一个表,然后选择编辑

金数据表单接口请求(php)

金数据是一个在线表单制作工具,功能十分强大,同时为开发者提供了金数据开发平台 现根据自己的开发经历分享下php语言请求金数据接口方法 开发平台提供以下两个主要接口 (其中APIKEY,APISECRET从个人中心获取),接口都是基于HTTP BASIC验证 一.获取某表单接口(已知某表单id根据id获取其包含的字段) 参考代码如下: $url = 'https://APIKEY:APISECRET@jinshuju.net/api/v1/forms/'.FORMID; $res = file_g

jqgrid获取不同分页的选中数据并保存回显

这个主要涉及三个知识点: 定义一个数组用来缓存数据 使用jqgrid本身的属性onSelectAll和beforeSelectRow 自定义封装的一个lodash.min.js 文件(切记要引入)百度网盘:https://pan.baidu.com/s/17JYOfaLVffzI1u5wL8uSkg 提取码:zgd3 主要实现逻辑:首先定义一个缓存,当表格中选择(取消)数据的时候,将选中(取消)的ID存放(移除)于缓存数组-->在jqgrid数据加载结束后将缓存数据设置为被选中状态-->这样的

atitit.编辑表单的实现最佳实践dwr jq easyui

atitit.编辑表单的实现最佳实践dwr jq easyui 1. 提交表单 1 2. 表单验证 1 3. 数据保存使用meger方式取代save&update方式 1 3.1. Filter::(mp>>do) 1 3.2. 2.convert(mp>>do) 2 3.3. valider 2 3.4. 默认值设置问题..(只do) 2 4. 表单回显(编辑模式) 2 1. 提交表单 Jq d serize Easyuui yanen l ... Dwr3  韩式最简单

easyUi load方法重新加载表单的数据

1.表单回显数据的方法 <script> //方法一 function loadLocal(){ $('#ff').form('load',{ name:'myname', email:'[email protected]', subject:'subject', message:'message', language:'en' }); }//方法二 function loadRemote(){ $('#ff').form('load', 'form_data1.json'); }//清空表单

Struts学习(五)-表单标签,一个实例练习

表单标签将在 HTML 文档里被呈现为一个表单元素 使用表单标签的优点: 表单回显 对页面进行布局和排版 标签的属性可以被赋值为一个静态的值或一个 OGNL 表达式. 如果在赋值时使用了一个 OGNL 表达式并把它用 %{} 括起来, 这个表达式将会被求值. 表单标签的共同属性 * 该属性只在没有使用 simple 主题时才可以使用. form标签 默认情况下, form 标签将被呈现为一个表格形式的 HTML 表单. 嵌套在 form 标签里的输入字段将被呈现为一个表格行. 每个表格行由两个字