动态添加弹出页面(shiro项目中来的七)
一,图解





二,代码
2.0,新增代码
//打开编辑属性(新增)
function dialog_open(){
$("#dialog-add").css("display","block");
$("#dname").val('');
$("#dbz").val('');
$("#ddefault").val('');
$("#msgIndex").val('');
$("#dtype").val('String');
$("#isQian").val('是');
$("#form-field-radio1").attr("checked",true);
$("#form-field-radio1").click();
$("#form-field-radio4").attr("checked",true);
$("#form-field-radio4").click();
$("#flength").val(255);
$("#ddefault").attr("disabled",true);
}

2.1,静态的数据
<div id="dialog-add">
<div class="commitopacity"></div>
<div class="commitbox">
<div class="commitbox_inner">
<div class="commitbox_top">
<br/>
<table>
<tr height="42px;">
<td style="padding-left: 16px;text-align: right;">属性名:</td><td><div class="nav-search"><input class="nav-search-input" style="width:210px;" name="dname" id="dname" type="text" value="" placeholder="首字母必须为字母或下划线" title="属性名" /></div></td>
<td style="padding-left: 16px;text-align: right;">属性类型:</td>
<td style="padding-bottom: 5px;">
<label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio1" onclick="setType('String');" type="radio" value="icon-edit"><span class="lbl">String</span></label>
<label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio3" onclick="setType('Date');" type="radio" value="icon-edit"><span class="lbl">Date</span></label>
<label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio2" onclick="setType('Integer');" type="radio" value="icon-edit"><span class="lbl">Integer</span></label>
<label style="float:left;padding-left: 20px;"><input name="form-field-radiot" id="form-field-radio33" onclick="setType('Double');" type="radio" value="icon-edit"><span class="lbl">Double</span></label>
</td>
</tr>
<tr height="42px;">
<td style="padding-left: 16px;text-align: right;">其备注:</td><td><div class="nav-search"><input class="nav-search-input" style="width:210px;" name="dbz" id="dbz" type="text" value="" placeholder="例如 name的备注为 '姓名'" title="备注"/></div></td>
<td style="padding-left: 16px;text-align: right;">前台录入:</td>
<td>
<div style="float: left;padding-top: 3px;">
<label style="float:left;padding-left: 20px;"><input name="form-field-radioq" id="form-field-radio4" onclick="isQian('是');" type="radio" value="icon-edit" checked="checked"><span class="lbl">是</span></label>
<label style="float:left;padding-left: 20px;"><input name="form-field-radioq" id="form-field-radio5" onclick="isQian('否');" type="radio" value="icon-edit"><span class="lbl">否</span></label>
</div>
<div class="nav-search" style="float: right;padding-right: 5px;">
长度:<input class="nav-search-input" style="width:66px;" name="flength" id="flength" type="number" value="" placeholder="长度" title="长度" />
. <input class="nav-search-input" style="width:50px;" name="decimal" id="decimal" type="number" value="" placeholder="小数" title="类型为Double时有效" />
</div>
</td>
</tr>
<tr height="42px;">
<td style="padding-left: 16px;text-align: right;">默认值:</td><td><div class="nav-search"><input class="nav-search-input" style="width:210px;" name="ddefault" id="ddefault" type="text" value="" disabled="disabled" placeholder="后台附加值时生效" title="默认值"/></div></td>
<td style="padding-left: 16px;text-align: right;"></td>
<td>
<div class="commitbox_cen">
<div class="left" id="cityname"></div>
38 <div class="right" style="padding-right: 28px;"><span class="save" onClick="saveD()">保存</span> <span class="quxiao" onClick="cancel_pl()">取消</span></div>
</div>
</td>
</tr>
<tr>
<td style="padding-left: 16px;" colspan="100">
<font color="red" style="font-weight: bold;">
注意:<br/>
1. 请不要添加 XX_ID 的主键,系统自动生成一个32位无序不重复字符序列作为主键<br/>
2. 主键为 类名_ID 格式,所有字段的字母均用大写
</font>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>

2.2,点击保存之后的代码
function saveD(){
var dname = $("#dname").val(); //属性名
var dtype = $("#dtype").val(); //类型
var dbz = $("#dbz").val(); //备注
var isQian = $("#isQian").val(); //是否前台录入
var ddefault = $("#ddefault").val(); //默认值
var msgIndex = $("#msgIndex").val(); //msgIndex不为空时是修改
var flength = $("#flength").val(); //长度
var decimal = $("#decimal").val(); //小数
if(dname==""){
$("#dname").tips({
side:3,
msg:'输入属性名',
bg:'#AE81FF',
time:2
});
$("#dname").focus();
return false;
}else{
dname = dname.toUpperCase(); //转化为大写
if(isSame(dname)){
var headstr = dname.substring(0,1);
var pat = new RegExp("^[0-9]+$");
if(pat.test(headstr)){
$("#dname").tips({
side:3,
msg:'属性名首字母必须为字母或下划线',
bg:'#AE81FF',
time:2
});
$("#dname").focus();
return false;
}
}else{
if(msgIndex != ''){
var hcdname = $("#hcdname").val();
if(hcdname != dname){
if(!isSame(dname)){
$("#dname").tips({
side:3,
msg:'属性名重复',
bg:'#AE81FF',
time:2
});
$("#dname").focus();
return false;
};
};
}else{
$("#dname").tips({
side:3,
msg:'属性名重复',
bg:'#AE81FF',
time:2
});
$("#dname").focus();
return false;
}
}
}
if(dbz==""){
$("#dbz").tips({
side:3,
msg:'输入备注',
bg:'#AE81FF',
time:2
});
$("#dbz").focus();
return false;
}
if((0-flength >=0) || flength==""){
$("#flength").tips({
side:3,
msg:'输入长度',
bg:'#AE81FF',
time:2
});
$("#flength").focus();
return false;
}
if('' == decimal) decimal = 0;
dbz = dbz == '' ? '无':dbz;
ddefault = ddefault == '' ? '无':ddefault;
var fields = dname + ',fh,' + dtype + ',fh,' + dbz + ',fh,' + isQian + ',fh,' + ddefault + ',fh,' + flength + ',fh,' + decimal;
if(msgIndex == ''){
arrayField(fields);
}else{
editArrayField(fields,msgIndex);
}
$("#dialog-add").css("display","none");
}
function appendC(value){
var fieldarray = value.split(',fh,');
$("#fields").append(
'<tr>'+
'<td class="center">'+Number(index+1)+'</td>'+
'<td class="center">'+fieldarray[0]+'<input type="hidden" name="field0'+index+'" value="'+fieldarray[0]+'"></td>'+
'<td class="center">'+fieldarray[1]+'<input type="hidden" name="field1'+index+'" value="'+fieldarray[1]+'"></td>'+
'<td class="center">'+fieldarray[5]+'<input type="hidden" name="field5'+index+'" value="'+fieldarray[5]+'"></td>'+
'<td class="center">'+fieldarray[6]+'<input type="hidden" name="field6'+index+'" value="'+fieldarray[6]+'"></td>'+
'<td class="center">'+fieldarray[2]+'<input type="hidden" name="field2'+index+'" value="'+fieldarray[2]+'"></td>'+
'<td class="center">'+fieldarray[3]+'<input type="hidden" name="field3'+index+'" value="'+fieldarray[3]+'"></td>'+
'<td class="center">'+fieldarray[4]+'<input type="hidden" name="field4'+index+'" value="'+fieldarray[4]+'"></td>'+
'<td class="center" style="width:100px;">'+
'<input type="hidden" name="field'+index+'" value="'+value+'">'+
'<a class="btn btn-mini btn-info" title="编辑" onclick="editField(\''+value+'\',\''+index+'\')"><i class="ace-icon fa fa-pencil-square-o bigger-120"></i></a> '+
'<a class="btn btn-mini btn-danger" title="删除" onclick="removeField(\''+index+'\')"><i class="ace-icon fa fa-trash-o bigger-120"></i></a>'+
'</td>'+
'</tr>'
);
index++;
$("#zindex").val(index);
}
//保存属性后往数组添加元素
function arrayField(value){
arField[index] = value;
appendC(value);
}

主要的逻辑还是看整体代码,这里是主要的代码
动态添加弹出页面(shiro项目中来的七)的更多相关文章
- 权限的分类(shiro项目中来的五)
第一种权限:菜单栏展示还是不展示的权限(粗颗粒) 实现方法,在SYS_ROLE表中添加一个字段rights,通过 public static BigInteger sumRights(String[] ...
- iOS-C文件添加到iOS项目中,运行报错
iOS-C文件添加到iOS项目中,运行报错 问题: 往项目中添加一个空的c文件, 编译运行; 出现2,30个编译错误. 原因: 由于在项目中添加了Pch文件,在文件中所有代码还没有开始运行之前, pc ...
- 将HTML字符转换为DOM节点并动态添加到文档中
将HTML字符转换为DOM节点并动态添加到文档中 将字符串动态转换为DOM节点,在开发中经常遇到,尤其在模板引擎中更是不可或缺的技术. 字符串转换为DOM节点本身并不难,本篇文章主要涉及两个主题: 1 ...
- COM动态添加删除成员,类似JavaScript中调用的对象
在JavaScript中调用对象时,可动态添加删除成员如: var obj=new Object; obj.member1='aaaaa'; obj.fun1=function() { alert(' ...
- zookeeper动态添加/删除集群中实例(zookeeper 3.6)
一,用来作为demo操作的zookeeper集群中的实例: 机器名:zk1 server.1=172.18.1.1:2888:3888 机器名:zk2 server.2=172.18.1.2:2888 ...
- setBit testBit权限管理(shiro项目中来的二)
一,setBit testBit权限管理的理解 1.1.jdk7文档解释 public boolean testBit(int n)Returns true if and only if the de ...
- 项目中的Git七步精髓
项目中Git常用的七步操作: 1.git branch -a 查看所有分支 2.git checkout dev_yxq 如果冲突了,操作回退上一个版本, git status git checko ...
- java自带的类压缩和下载,以及递归删除动态的文件(shiro项目中来的十)
详见项目,不用借助于任何外在的jar包,通过jre自带的实现.
- shiro的登陆认证(shiro项目中来的一)
一,图解 二,流程 2.1,创建token令牌,token中有用户提交的认证信息即账号和密码 Subject subject = SecurityUtils.getSubject(); Usernam ...
随机推荐
- SqlServer varchar数据中类似于1.1.1.1这种值的排序方法
select * from 表名order by Convert(int,left(列名,charindex('.',列名+'.')-1)) asc, 列名asc charindex('.',列名) ...
- .vue文件在webstorm中es6语法报错解决方法
1 语法支持es6设置 Preferences > Languages & Frameworks > JavaScript 把 Javascript Language versio ...
- python函数4种类型及函数生成帮助文档
Pyouthon中函数参数是引用传递(注意不是值传递). 对于不可变类型,因变量不能修改,所以运算不会影响到变量自身: 而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量. a += a ...
- 12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置
我正在使用的NSDate对象,和好了,我的iPhone与24小时格式,所以当我在测试我的应用程序,一切正常,但是,我的一个朋友试图在他的iPhone上的应用程序 CodeGo.net,但12小时格式, ...
- php获取今日开始时间戳和结束时间戳
1.php获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0 ...
- [UWP]做个调皮的BusyIndicator
1. 前言 最近突然想要个BusyIndicator.做过WPF开发的程序员对BusyIndicator应该不陌生,Extended WPF Toolkit 提供了BusyIndicator的开源实现 ...
- 深入java虚拟机学习 -- 类的加载机制
当看到"类的加载机制",肯定很多人都在想我平时也不接触啊,工作中无非就是写代码,不会了可以百度,至于类,jvm是怎么加载的我一点也不需要关心.在我刚开始工作的时候也觉得这些底层的内 ...
- static关键字的使用总结
1.对于static关键字的使用的时候对于修饰变量的时候,它相当于一个全局变量: 2.对于static修饰一个函数的时候他是在类被加载的时候首先会被类加载,并且只能加载一次,并且这个方法可以不需要通过 ...
- 创建Maven web工程不能解析EL表达式的解决办法
在web.xml中讲头部改为: <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee&qu ...
- 《android开发艺术探索》读书笔记(八)--WindowManager
接上篇<android开发艺术探索>读书笔记(七)--动画 No1: Window是一个抽象类,它的具体实现是PhoneWindow.创建一个Window是很简单的事,只需要通过Windo ...