java_easyui体系之目录 [转]
摘要:简单介绍form的提交方式、与validatebox的结合使用。
一:form简介
Easyui中的form有两种提交方式、结合自己新添加的一种ajax提交方式、本文简单说明form的三种提交方式、和结合validatebox使用来校验基本信息。
二:form提交
以登录为例:下面是登录页面、注意要导入easyui所需要的css和js。
要引入的css+js:
<link rel="stylesheet" type="text/css"href="css/easyui/default/easyui.css">
<link rel="stylesheet" type="text/css" href="css/easyui/icon.css">
<link rel="stylesheet" type="text/css" href="css/easyui/demo.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
登录的div和表单:
简单说明:
1、登录是使用dialog来作为界面的、初始化dialog有几种方式——(1)使用class="easyui-dialog"定义、使用data-options="xxx"来定义dialog属性、这种适合只具有基本样式、不具有与后台交互功能的时候的页面使用。(2)使用js初始化、适合与后台交互的界面使用、(3)可以混合使用。
1、通过ajax提交:
loginAndregist = $('#loginAndregist').dialog({
closable:false,
modal:true,
draggable:false,
buttons:[{
text:'注册',
handler:function(){
$('#regist').dialog('open');
}
},{
text:'登录',
handler:function(){
if( $('#loginInputForm').form('validate')){
$.ajax({
url:'login_login.action',
data:$('#loginInputForm').serialize(),
cache:false,
dataType:'text',
success:function(r){
console.info(r);
if(r == "success"){
$('#loginAndregist').dialog('close');
$.messager.show({
title : '提示',
msg : '登录成功'
});
}else{
$.messager.alert('标题','用户名密码错误');
}
}
});
}
}
}],
});
简单说明:if( $('#loginInputForm').form('validate')){...}是将form与其内部的validatebox绑定、可以使用validatebox提供的校验规则来校验输入。若不使用这个而直接使用ajax提交、则不会使用validatebox提供的校验规则、当然也可以自己加校验方式、onSubmit()。
2、通过先初始化form、再在点击登录触发函数中提交
初始化form表单:
//初始化登录表单
loginInputForm = $('#loginInputForm').form({
url:'login_login.action',
success:function(r){
console.info(r);
if(r == "success"){
$('#loginAndregist').dialog('close');
$.messager.show({
title : '提示',
msg : '登录成功'
});
}else{
$.messager.alert('标题','用户名密码错误');
}
}
});
点击登录时提交表单:
loginAndregist = $('#loginAndregist').dialog({
closable:false,
modal:true,
draggable:false,
buttons:[{
text:'注册',
handler:function(){
$('#regist').dialog('open');
}
},{
text:'登录',
handler:function(){
loginInputForm.submit();
}
}],
});
简单说明:这里不再需要像ajax一样添加一个校验的if、因为这种方式的form是与validatebox绑定的、会自动校验。
3、直接在点击登录触发函数中提交
loginAndregist = $('#loginAndregist').dialog({
closable:false,
modal:true,
draggable:false,
buttons:[{
text:'注册',
handler:function(){
$('#regist').dialog('open');
}
},{
text:'登录',
handler:function(){
if( $('#loginInputForm').form('validate')){
$('#loginInputForm').form('submit',{
url:'login_login.action',
onSubmit: function(){
console.info('do some check !');
},
success : function(r){
console.info(r);
console.info(r);
if(r == "success"){
$('#loginAndregist').dialog('close');
$.messager.show({
title : '提示',
msg : '登录成功'
});
}else{
$.messager.alert('标题','用户名密码错误');
}
}
});
}
}
}],
});
$('#loginInputForm').form('submit',{...})、当点击登录按钮时会直接提交表单、红色部分可以对表单提交之前做一些操作、比如校验。
三:form注意事项
注意获取对象的不同、显示隐藏的时候、获取的是包含form表单的div、提交的是form。两者千万不要弄混了、所以使用jquery获取这两个节点时要注意id的区别、
1、获取div的id用于将div初始化成dialog: $('#divId').dialog(...);
2、获取div中的form的id用于初始化form表单:$('#formId').form(...);
3、三种提交表单方式:(1)在div中使用ajax提交、(2)将初始化好的表单提交:$('#formId').form().submit();(3)在登录按钮触发函数中$('#formId').form('submit',{xxx})
四:form提交网页完整(包括注册)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <html> <base href="<%=basePath%>"> <title>login</title> <link rel="stylesheet" type="text/css" href="css/easyui/default/easyui.css">
<link rel="stylesheet" type="text/css" href="css/easyui/icon.css">
<link rel="stylesheet" type="text/css" href="css/easyui/demo.css">
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
<script type="text/javascript">
/*
注意获取对象的不同、显示隐藏的时候、获取的是包含form表单的div、提交的是form。两者千万不要弄混了、所以使用jquery获取这两个节点时要注意id的区别、
1、获取div的id用于将div初始化成dialog: $('#divId').dialog(...);
2、获取div中的form的id用于初始化form表单: $('#formId').form(...);
3、三种提交表单方式:(1)在div中使用ajax提交、(2)将初始化好的表单提交: $('#formId').form().submit();(3)在登录按钮触发函数中$('#formId').form('submit',{xxx})
*/ //节点的引用、当被初始化一次之后、后面就可以直接拿来使用了
var loginAndregist;
var loginInputForm;
var registForm;
$(function(){
//初始化登录窗口
loginAndregist = $('#loginAndregist').dialog({
closable:false,
modal:true,
draggable:false,
buttons:[{
text:'注册',
handler:function(){
$('#regist').dialog('open');
}
},{
text:'登录',
handler:function(){
//loginInputForm.submit(); if( $('#loginInputForm').form('validate')){
$.ajax({
url:'login_login.action',
data:$('#loginInputForm').serialize(),
cache:false,
dataType:'text',
success:function(r){
console.info(r);
if(r == "success"){
$('#loginAndregist').dialog('close');
$.messager.show({
title : '提示',
msg : '登录成功'
});
}else{
$.messager.alert('标题','用户名密码错误');
}
}
});
}
/*
if( $('#loginInputForm').form('validate')){
$('#loginInputForm').form('submit',{
url:'login_login.action',
onSubmit: function(){
console.info('do some check !');
},
success : function(r){
console.info(r);
console.info(r);
if(r == "success"){
$('#loginAndregist').dialog('close');
$.messager.show({
title : '提示',
msg : '登录成功'
});
}else{
$.messager.alert('标题','用户名密码错误');
}
}
});
}*/
}
}],
});
//初始化登录表单
loginInputForm = $('#loginInputForm').form({
url:'login_login.action',
success:function(r){
console.info(r);
if(r == "success"){
$('#loginAndregist').dialog('close');
$.messager.show({
title : '提示',
msg : '登录成功'
});
}else{
$.messager.alert('标题','用户名密码错误');
}
}
}); //初始化注册窗口
$('#regist').show().dialog({
modal:true,
closed:true,
draggable:true,
buttons:[{
text:'确认',
handler:function(){
$('#registForm').submit();
}
},{
text:'取消',
handler:function(){
$('#regist').dialog('close');
}
}],
}); //初始化注册表单
registForm = $('#registForm').form({
url:'login_regist.action',
success : function(r){
console.info(r);
if(r == "success"){
$('#regist').dialog('close');
$.messager.show({
title : '提示',
msg : '注册成功'
});
}else{
$.messager.show({
title : '警告',
msg : '注册失败'
});
}
}
});
});
</script> <div id="loginAndregist" title="用户登录" style="width:300px;height:200px;">
<form id="loginInputForm" method="post" action="logion_login.action">
<table>
<tbody><tr>
<th align="right">username: </th>
<td><input type="text" class="easyui-validatebox" required="true" name="username"></td>
</tr>
<tr>
<th align="right">password: </th>
<td><input type="text" class="easyui-validatebox" required="true" name="password"></td>
</tr>
</tbody></table>
</form>
</div> <div id="regist" title="用户注册" style="width:300px;height:200px;display: none;">
<form id="registForm" method="post" action="logion_regist.action">
<table>
<tbody><tr>
<th align="right">username: </th>
<td><input type="text" class="easyui-validatebox" required="true" name="username"></td>
</tr>
<tr>
<th align="right">password: </th>
<td><input type="text" class="easyui-validatebox" required="true" name="password"></td>
</tr>
<tr>
<th align="right">confirmpassword: </th>
<td><input type="text" class="easyui-validatebox" required="true" name="confirmpassword"></td>
</tr>
</tbody></table>
</form>
</div>
java_easyui体系之目录 [转]的更多相关文章
- java_easyui体系之DataGrid(4)[转]
一:简介 在前面DataGrid(3)的基础上添加后台的实现.本来是想只搭建前台页面的.后台不写.现在觉得还是都实现好点.从真实情况出发.后台用的ssh. 1. 新增冻结列功能. 2. 实现界面的添加 ...
- java_easyui体系之DataGrid(3)[转]
一:简介 在2的基础上实现增删改.增.改都是通过行编辑来实现的.具体业务逻辑: 1. 增加一条记录的时候: a) 在datagrid表格最前端增加一行(当然也可在指定位置增加.)增加的行的字段必须与要 ...
- java_easyui体系之DataGrid(2)[转]
一:简介 在1的基础上添加layout组件.实现通过条件动态的从后台查询数据到前台展示.使用的方式是将查询单独作为一个layout中的一个面板. 二:关键之处 1.效果图: 2.左侧的折叠组件: 折叠 ...
- java_easyui体系之DataGrid(1)[转]
一:简介 以表格的形式展示数据.项目中式很常见的一个使用.table展示数据.牵扯到分页.上一页下一页.首页.尾页.翻页.选中展示的记录用于操作.总记录数等等.使用DataGrid很容易实现这一点. ...
- Java_io体系之PipedWriter、PipedReader简介、走进源码及示例——14
Java_io体系之PipedWriter.PipedReader简介.走进源码及示例——14 ——管道字符输出流.必须建立在管道输入流之上.所以先介绍管道字符输出流.可以先看示例或者总结.总结写的有 ...
- Java_io体系之BufferedWriter、BufferedReader简介、走进源码及示例——16
Java_io体系之BufferedWriter.BufferedReader简介.走进源码及示例——16 一:BufferedWriter 1.类功能简介: BufferedWriter.缓存字符输 ...
- View事件体系
View事件体系 文章目录 View事件体系 一.Android View基础知识 1.1 View简介 1.2 View分类 1.3 View的结构 1.4 View的坐标 1.4.1 Androi ...
- Java_io体系之RandomAccessFile简介、走进源码及示例——20
Java_io体系之RandomAccessFile简介.走进源码及示例——20 RandomAccessFile 1. 类功能简介: 文件随机访问流.关心几个特点: 1.他实现的接口不再 ...
- Dubbo源码(五) - 服务目录
前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 今天,来聊聊Dubbo的服务目录(Directory).下面是官方文档对服务目录的定义: 服务目 ...
随机推荐
- Leetcode: Minimum Genetic Mutation
A gene string can be represented by an 8-character long string, with choices from "A", &qu ...
- 【001:Tomcat搭建简单文件服务器】
1.下载 tomcat 软件包 2.在webapps/Root 下放置需要下载的文件 3.运行 tomcat / bin目录 下的startup.sh 4.访问 ip+8080端口
- 【001:转载 eclipse中颜色的设置】
转自于:http://www.cnblogs.com/arci/archive/2011/01/23/1942646.html Eclipse颜色设置 参考配色方案: http://www.cs.cm ...
- transition、animation在macbook air上图片动画边缘抖动
示例: BUG描述: 最近同事一项目中,产品提出在macbook air上,列表图片放大效果边缘出现抖动现象.在retina屏上没有此问题. 调试过程: 1.单独把结构分离.确定是否由其他元素引起. ...
- 使用Netty收发二进制报文问题记
1.java二进制编解码 byteBuffer.flip() byteBuffer.getInt() 与 byteBuf.getInt(11) 2.粘包拆包问题 LengthFieldBasedFra ...
- Linux和Windows下ping命令详解(转:http://linux.chinaitlab.com/command/829332.html)
一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a add ...
- sprint2 项目的粗略展示
- Intellij IDEA 快捷键介绍
ctrl-w 使所选表达式逐步增大直到选取整个文件 ctrl+shft+w 逐步减少选中 ctrl-n 可以通过键入类名查找一个类 ctrl-shift-n 可以查找文件 ctrl-e 得到 ...
- openvpn之搭建配置
一.openvpn原理 openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的.这种方式称为TLS加密 ...
- c# base关键的理解
base 最大的使用地方在面相对性开发的多态性上.(什么是多态,如何理解多态) base可以[完成]创建派生类实例时调用其基类构造函数或者调用基类上已经被其他方法重写的方法 //关于base调用基类构 ...