js动态添加删除,后台取数据(示例代码)

环境描述:就像你一般在论坛上发表文章,可能带附件,附件的数量是你手动添加删除的!!
/************************************************************************
*** 添加审批表单模板
************************************************************************/
// 增长的索引
var itemIndex = 1000;
// 数量
var counter = 0;
// 模板
var itemTemplate = '';
itemTemplate += '<div id="item_#itemIndex#" style="width: 100%;">';
itemTemplate += '   <span style="width: 80px">表单字段</span>';
itemTemplate += '   <input type="text" name="flowFormFieldCfgElement(#itemIndex#).name" style="width: 205px;"/>';
itemTemplate += '   值类型 <select name="flowFormFieldCfgElement(#itemIndex#).valueType">';
itemTemplate += '       <option value="java.lang.String" selected>字符串</option>';
itemTemplate += '       <option value="java.lang.Integer">数字(整数)</option>';
itemTemplate += '       <option value="java.util.Date">日期(yyyy-MM-dd)</option>';
itemTemplate += '   </select>';
itemTemplate += '   <input type="button" class="btnDelItem" onclick="delItem(#itemIndex#)" value="删除">';
itemTemplate += '</div>';

// 添加
function addItem() {
var s = itemTemplate.replace(/#itemIndex#/g, itemIndex);
$("#divFormFields").append(s);
itemIndex ++;
counter ++;
}

// 删除
function delItem(index) {
$("#item_" + index).remove();
counter = counter - 1;
}

public class FlowFormConfigActionForm extends ActionForm {
private int id;
private String name;
private String processName;

private String formFillTemplatePath;
private String formShowTemplatePath;
private Map<String, FlowformFieldConfig> flowFormFieldCfgMap = new TreeMap<String, FlowformFieldConfig>();

/** 表单复杂属性 */
public FlowformFieldConfig getFlowFormFieldCfgElement(String key){
if(!flowFormFieldCfgMap.containsKey(key)){
flowFormFieldCfgMap.put(key, new FlowformFieldConfig());
}
return flowFormFieldCfgMap.get(key);
}

*U*****

public class FlowformFieldConfig {
private int id;
private String name;
private Class<?> valueType;

主要要原理是:struts1.*在jsp显示的时候,会先从formbean里通过get***方法拿出属性的值!!

flowFormFieldCfgElement(#itemIndex#).name 这是核心,如果flowFormFieldCfgElement(#itemIndex#)为空的话,就会出错,所以在/** 表单复杂属性 */
public FlowformFieldConfig getFlowFormFieldCfgElement(String key){
if(!flowFormFieldCfgMap.containsKey(key)){
flowFormFieldCfgMap.put(key, new FlowformFieldConfig());
}
return flowFormFieldCfgMap.get(key);
}
做了判断!!
如果还有不懂的人可以给我留言!!

(0)

相关推荐

  • 多种方法实现JS动态添加事件

    方法一.setAttribute var obj = document.getElementById("obj"); obj.setAttribute("onclick", "javascript:alert('测试');"); 但是IE不支持用 setAttribute 设置某些属性,包括对象属性.集合属性.事件属性,也就是说用 setAttribute 设置 style.onclick.onmouseover 这些属性在 IE 中是行不通的.

  • js中cookie的添加、取值、删除示例代码

    复制代码 代码如下: function setCookie(name,value,time){ var oDate = new Date(); oDate.setDate(oDate.getDate()+time); document.cookie = name+"="+value+";expires="+oDate; } function getCookie(name){ var arr = document.cookie.split("; "

  • js动态添加事件并可传参数示例代码

    复制代码 代码如下: var tt=function(obj) { return function() { alert(obj.tagName); //可以为外部定义的一个执行函数: } } function addfunction() { var bigobj=document.getElementById("mytable"); var rows =bigobj.rows; for(var j=0; j<rows.length; j++) { for(var i=0;i<

  • js实现动态添加、删除行、onkeyup表格求和示例

    复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "

  • js动态添加删除,后台取数据(示例代码)

    环境描述:就像你一般在论坛上发表文章,可能带附件,附件的数量是你手动添加删除的!!/*************************************************************************** 添加审批表单模板************************************************************************/// 增长的索引var itemIndex = 1000;// 数量var counter = 0;/

  • 利用js动态添加删除table行的示例代码

    如下所示: 复制代码 代码如下: //动态添加行function addRow(){   var table = document.getElementById("tableID");   var newRow = table.insertRow(); //创建新行   var newCell1 = newRow.insertCell(); //创建新单元格   newCell.innerHTML = "": //单元格内的内容   newCell.setAttri

  • Node.js实现简单的爬取的示例代码

    学习[node.js]也有几天时间了,所以打算写着练练手:索然我作为一个后端的选手,写起来还有那么一丝熟悉的感觉.emmm~~ '货'不多讲 ,开搞........ 首先是依赖选择: 代码块如下: //引入依赖 //https请求 const https = require('https'); //简称node版的jquery const cheerio = require('cheerio'); //解决防止出现乱码 const iconv = require('iconv-lite') //

  • JS小功能(操作Table--动态添加删除表格及数据)实现代码

    效果: 代码: 复制代码 代码如下: <head runat="server">    <title></title>    <style type="text/css">        tr        {            height: 30px;        }    </style>    <script type="text/javascript">   

  • Ajax方式删除表格一行数据示例代码

    复制代码 代码如下: /** * Ajax方式删除信息--后台数据 * * action * id 主键值 * obj 删除行的<a> */ function removeRow(action,id,obj){ if(confirm('确定要删除吗?')){ Ext.Ajax.request({ url : encodeURI("alone.portal?.f=${namespace}&.pmn=view&action="+action), params :

  • jquery datatable后台封装数据示例代码

    1.数据转换类 public class DataTableReturnObject { private int iTotalRecords; private int iTotalDisplayRecords; private String sEcho; private String[][] aaData; public DataTableReturnObject(int totalRecords, int totalDisplayRecords, String echo, String[][]

  • js整数字符串转换为金额类型数据(示例代码)

    复制代码 代码如下: function zhen(str) {      var arr_1 = ["", "\u62fe", "\u4f70", "\u4edf", "\u4e07", "\u4ebf"], arr_2 = ["", "\u4e07", "\u4ebf"];      var maskstr = arr_1.s

  • js动态添加表格逐行添加、删除、遍历取值的实例代码

    关于js对表格进行逐行添加,今天抽空整理了一下:新建一个html文件(没有编辑器的可以新建一个demo.txt文件,然后改后缀名为demo.html),把下面代码全部贴进去即可. 功能包括:表格添加一行,表格删除一行,表格遍历取值等. 点击说明:点击添加按钮,则表格添加一行,可进行录入,删除按钮,可删除当前行,其他行不影响.删除或者添加,每行的的编号都会自动变化,套餐和价格是<input/>,内容是 <textarea></textarea>,点击保存按钮的时候,遍历表

  • js动态添加表格数据使用insertRow和insertCell实现

    效果图: 代码: js动态添加表格数据_2.html 复制代码 代码如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js动态添加表格数据_2

  • Vue.js动态添加、删除选题的实例代码

    大家先看看页面效果吧,当当当当``````````````````````` 图中第二个选题是小颖点击了"新增选题"按钮,然后出来的,当你点击了"删除选项"或"删除选题"按钮,就会删除相应的选项和选题. html代码 <template> <div class="main-container"> <div class="form-horizontal"> <temp

随机推荐