具体基础的用法,可先看下这个文件做下了解,地址:http://files.cnblogs.com/dachuang/uizjs.rar

请先看完上面的文件,不然下面的可能看不懂,当然你要是之前了解过的话没问题

下面说下简单的总结:

1.先说列表页:

uizjs就是自造一个table,这个table是以一个自造的行模板来依次复制出来的,所以uizjs就是定义出一个行模板,这里有两种方式:一种是直接用js定义模板格式,一种是用html定义模板

第一种:(这是公司的一个高手写的,我没看明白,你也看不懂的话,直接第二种)

var paratable = {
"body": "#lst", "key": "DataList", "ulstr": "tr", "listr": "td", "para": para,
"keyc": ["Id", "Title"],
"cols": ['<input class="limt-check" type="checkbox"/>', "Title,align-l", "Stock", "Istop,,sf"],
"getcmd": "/CMS/Product/List",
"buttons": {
"推送": {
"prompt": true, "click": function (p) {
zjs.cmd({
cmd: "/CMS/AppPush/Add",
para: {
"PushContent": p.para.id1,
"Url": "<%="http://"+KNET.WAWP.Logical.Library.App+KNET.WAWP.Logical.Library.MyDomain%>/Mobile/Product/details.aspx?id=" + p.para.id
},
callback: function () {
// $(this).html("已推送");
}
});
}, "clas": "btn-cotr cotr-gavy"
},
"修改": { "url": "/CMS/Function/Product/Add.aspx?id=#Id#", "alert": true, "alertwidth": "800px", "clas": "btn-cotr cotr-gavy" },
"删除": { "cmd": "/cms/Product/DeleteByID", "clas": "btn-cotr cotr-gavy", "confirm": "确认要删除吗?" }
},
"callback": function (e, data) {
Research();
}, "getcallback": function (e, data) {
if (BaseCategory.CurrID) {
BaseCategory.UpdateBut(this.TotalRows, BaseCategory.CurrID);
} else {
BaseCategory.Init("<%=KNET.WAWP.Logical.ViewModel.CategoryType.Products %>", "新建分类", 0);
}
}
};

第二种:(比较容易理解,就是我们平常用的html)

模板html:

<tbody id="lst">
<tr class="uls" style="z-index: 300;" id="tr#Id#">
<td class="align-l">#Title#</td>
<td>#Discount#%</td>
<td><span>#StartDate#</span>至<span>#EndDate#</span></td>
<td>#CreateDate#</td>
<td class="tbody_btns"><a class="btn-cotr cotr-gavy" title="编辑" owidth="500px" oheight="400px" openurl="/cms/Promotion/adddiscount.aspx?id=#Id#">编辑</a><a class="btn-cotr cotr-yellow" title="删除" execcmd="/Promotion/SalesRule/Delete" callback="Research" data-id="#Id#" confirm="确定要删除吗?">删除</a></td>
</tr>
</tbody>

配合的js:

window.ctable = new window.zjs.ctable({
"body": "#lst",
"getcmd": "/Promotion/SalesRule/ListPage",
"para": para,
"isTemplate": true,
dateformat: "yyyy-MM-dd"
});

2.接下来说添加/编辑页面,就是提交表单的页面:

这里有个强制的要求:

form的class必须为cform, 提交按钮必须为a,且必须id=”submit” ,大家都懂得,用起来简单的东西,都有一些强制的规定

需要注意的是:

readonly的input不会传给服务器

password的input传回服务器的是md5过的

直接例子:

<form id="WLK_WAWP_BASE_ENTERPRISE_INFO" class="cform" cmds="/Promotion/SalesRule/Detail" cmdu="/Promotion/SalesRule/Update" cmdi="/Promotion/SalesRule/Add" setcallback="close()" before="dateValidation" dateformat="yyyy-MM-dd">
<input id="Id" type="hidden" value="<%=Request["id"] %>" />
<input id="SalesType" type="hidden" value="1" />
<div class="pop-div">
<div class="">
<ul class="ul-form promotion">
<li>
<label>活动标题<span class="imprt">*</span></label>
<input type="text" class="form-control promotion-title" id="Title" rule="required;length:40:2" />
</li>
<li>
<label>促销折扣<span class="imprt">*</span></label>
<input type="text" class="form-control discount" id="Discount" rule="required;number;integer;gt:1;lt:99" />
%
</li>
<li>
<label>促销时间<span class="imprt">*</span></label>
<input type="text" class="form-control promotion-start promotion-date" id="StartDate" readonly="readonly" rule="required;">&nbsp;&nbsp;至&nbsp;
<input type="text" class="form-control promotion-end promotion-date" id="EndDate" readonly="readonly" rule="required;">
</li>
<li class="putbox">
<a class="btn btn-green btn-small" id="submit">提交</a>
<a class="btn btn-gavy btn-small" href="javascript:closefast();">取消</a>
</li>
</ul>
</div>
</div>
</form>

用到的js(before里的函数)

window.dateValidation = function () {
var validate = dateComparison($startCreateDate.val(), $endCreateDate.val());
if (!validate) {
alert('结束时间必须晚于开始时间!');
}
return validate;
}

uiZjs入门的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  8. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  9. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

随机推荐

  1. 自己封装的OKhttp请求

    package com.create.qdocumentimtest.rxjavatest; import com.squareup.okhttp.Callback; import com.squar ...

  2. ACM题目————Find them, Catch them

    Description The police office in Tadu City decides to say ends to the chaos, as launch actions to ro ...

  3. ACM题目————Robot Motion

    Description A robot has been programmed to follow the instructions in its path. Instructions for the ...

  4. android 代码整体回退

    repo forall -c 'HAHA=`git log --before="3 days" -1 --pretty=format:"%H"`;git res ...

  5. c# monitor锁

    当多个线程在并发的时候,难免会碰到相互冲突的事情,比如最经典的ATM机的问题,并发不可怕,可怕的是我们没有能力控制. 线程以我的理解可以分为三种 ① 锁. ② 互斥. ③ 信号. 好,这一篇主要整理“ ...

  6. 20151124001 关闭C#主窗体弹出是否关闭对话框

    关闭C#主窗体弹出是否关闭对话框 private void Frm_Main_FormClosing(object sender, FormClosingEventArgs e)        {   ...

  7. Code(组合数学)

    Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8766 Accepted: 4168 Description Tran ...

  8. JAVA基础知识之List集合

    List接口和ListIterator接口介绍 List集合新增方法 List集合判断元素重复的标准 ListIterator List.ArrayList和List.Vector 固定长度的List ...

  9. uwsgi安装过程中遇到的问题

    参考这篇文章: [root@crz_oa webserver]# uwsgi --http :9090 --wsgi-file home.py --daemonize /var/log/uwsgi.l ...

  10. reactjs入门到实战(九)----ajax的应用

    利用外部的jquery: <script type="text/babel"> } }, componentDidMount:function(){ ]['value' ...