第一种:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>addUser.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../js/wpCalendar.js">
</script>
</head>
<body>
<div align="center">
<h1>
显示有的用户界面
</h1>
<div
style="border: 1px red solid; margin-bottom: 100px; padding: 10px 10%">
<table border="1px" cellpadding="0" cellspacing="0" id="tusers">
<thead>
<tr>
<th>
<input type="checkbox" name="chbk" id="chbk1" />
</th>
<th>
名称
</th>
<th>
性别
</th>
<th>
邮箱
</th>
<th>
出生日期
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody id="users">
</tbody>
</table>
<div id="pages">
</div>
</div>
<div style="border: 1px blue solid;">
<form>
<table id="divs">
<tbody id="addUsers">
<tr>
<td>
用户名:
</td>
<td>
<input type="text" name="name" id="name" />
</td>
</tr>
<tr>
<td>
性别:
</td>
<td>
<select id="sex">
<option value="男">
男
</option>
<option value="女">
女
</option>
</select>
</td>
</tr>
<tr>
<td>
邮箱:
</td>
<td>
<input type="text" name="email" id="email" />
</td>
</tr>
<tr>
<td>
出生日期:
</td>
<td>
<input type="text" id="bir" name="bir" />
<input type=button value="点击看我"
onclick="showCalendar(this,document.all.bir)">
</td>
</tr>
<tr id="addu">
<td colspan="2">
<input type="button" value="添加" onclick="addUser()" id="add" />
</td>
</tr>
<tr id="addu1">
<td colspan="2">
<input type="button" value="修改" id="upduser" />
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
</body>
</html>
<script>
window.onload = function() {
document.getElementByIdx_x("addu1").style.display = "none";
}
function addUser() {
var name = document.getElementByIdx_x("name").value;
var sex = document.getElementByIdx_x("sex").value;
var email = document.getElementByIdx_x("email").value;
var bir = document.getElementByIdx_x("bir").value;
//获取表格节点对象
var tusers = document.getElementByIdx_x("tusers");
//创建行
var tr1 = document.createElement_x("tr");
var cbk = document.createElement_x("td");
var tname = document.createElement_x("td");
var tsex = document.createElement_x("td");
var temail = document.createElement_x("td");
var tbir = document.createElement_x("td");
var toper = document.createElement_x("td");
var cbk1 = document.createElement_x("input");
cbk1.setAttribute("type", "checkbox");
cbk1.setAttribute("name", "chbk");
cbk.appendChild(cbk1);
tname.appendChild(document.createTextNode(name));
tsex.appendChild(document.createTextNode(sex));
temail.appendChild(document.createTextNode(email));
tbir.appendChild(document.createTextNode(bir));
var adelete = document.createElement_x("a");
var aupdate = document.createElement_x("a");
adelete.setAttribute("href", "#");
aupdate.setAttribute("href", "#");
adelete.appendChild(document.createTextNode("删除 |"));
aupdate.appendChild(document.createTextNode("修改"));
toper.appendChild(adelete);
toper.appendChild(aupdate)
//往行中添加
tr1.appendChild(cbk);
tr1.appendChild(tname);
tr1.appendChild(tsex);
tr1.appendChild(temail);
tr1.appendChild(tbir);
tr1.appendChild(toper);
var users = document.getElementByIdx_x("users");
users.appendChild(tr1);
tusers.appendChild(users);
//删除操作
adelete.onclick = function() {
users.removeChild(adelete.parentNode.parentNode);
}
//修改操作
aupdate.onclick = function() {
document.getElementByIdx_x("addu").style.display = "none";
document.getElementByIdx_x("addu1").style.display = "block";
var utr = aupdate.parentNode.parentNode;
var utrs = utr.childNodes;
document.getElementByIdx_x("name").value = utrs[1].innerHTML;
document.getElementByIdx_x("sex").value = utrs[2].innerHTML;
document.getElementByIdx_x("email").value = utrs[3].innerHTML;
document.getElementByIdx_x("bir").value = utrs[4].innerHTML;
var upUser = document.getElementByIdx_x("upduser");
upUser.onclick = function() {
utr.childNodes[1].innerHTML = document.getElementByIdx_x("name").value;
utr.childNodes[2].innerHTML = document.getElementByIdx_x("sex").value;
utr.childNodes[3].innerHTML = document.getElementByIdx_x("email").value
utr.childNodes[4].innerHTML = document.getElementByIdx_x("bir").value
document.getElementByIdx_x("addu1").style.display = "none";
document.getElementByIdx_x("addu").style.display = "block";
}
}
//当添加用户的时候调用分页技术
testPage()
}
//定义分页标签节点对象并创建
var indexPage = document.createElement_x("a");
var upPage = document.createElement_x("a");
var downPage = document.createElement_x("a");
var endPage = document.createElement_x("a");
var nowpage = 1;
//分页技术的实现
function testPage() {
var tbodyUsers = document.getElementByIdx_x("users");
var trUsers = tbodyUsers.getElementsByTagName_r("tr");
//获取总记录数
var countRecord = trUsers.length;
//每页显示的记录数
var PAGESIZE = 2;
//总页数
var countPage = (countRecord % PAGESIZE == 0 ? countRecord / PAGESIZE
: Math.ceil(countRecord / PAGESIZE));
//当前页信息
// =======>从那条记录开始 (nowpage-1)*PAGESIZE;
//var nowpage = countPage;
//获取创建分页标签的节点对象
var pages = document.getElementByIdx_x("pages");
//如果没有创建分页标签的节点则创建节点对象
if (!pages.hasChildNodes()) {
getPages(nowpage);
}
//当点击首页时的操作
indexPage.onclick = function() {
nowpage = 1;
//显示首页的记录
indexPageInfo(countRecord, trUsers);
}
//当点击上一页的操作
upPage.onclick = function() {
if (nowpage - 1 > 1) {
nowpage -= 1;
} else {
nowpage = 1;
indexPageInfo(countRecord, trUsers);
}
//显示上一页记录
var startindex = (nowpage - 1) * PAGESIZE;
alert(startindex + "====================++++++");
var endindex = startindex + PAGESIZE;
PageInfo(startindex, endindex, countRecord, trUsers)
}
//当点击下一页的操作
downPage.onclick = function() {
if (nowpage + 1 >= countPage) {
nowpage = countPage;
} else {
nowpage += 1;
}
alert(nowpage + "-----------------");
//显示上一页记录
var startindex = (nowpage - 1) * PAGESIZE;
alert(startindex + "====================++++++");
var endindex = startindex + PAGESIZE;
alert(startindex + "-----" + endindex + "---");
PageInfo(startindex, endindex, countRecord, trUsers)
}
//当点击最后一页的操作
endPage.onclick = function() {
nowpage = countPage;
if (nowpage > 1) {
var startindex = (nowpage-1)*PAGESIZE;
for ( var i = 0; i < countRecord; i++) {
if (i < startindex) {
trUsers[i].style.display = "none";
} else {
trUsers[i].style.display = "block";
}
}
第二种:
<script language="JavaScript">
var totalRecordNum = <%=totalRecordNum%>;//总记录条数(从java程序中获取)
var currentPageNumber = 1;//当前页号
if(totalRecordNum==0)
{
currentPageNumber = 0;
}
var perPageRecordNum = 5;//每页记录条数(js中设置)
//计算总页数
var totalPageNumber = Math.ceil(totalRecordNum/perPageRecordNum);
var startShowPage ;//开始显示页记录号数
var endShowPage ;//结束显示页记录号数
//回车键和点击"GO"图片的效果一样
function keyDown() {
if(event.keyCode == 13){
goToPage();
}
}
//跳到指定页
function goToPage()
{
if(totalRecordNum != 0)
{
var pageNo = document.BillQueryForm.pageNum.value;
//校验页号
if((/[^0-9]/gi.test(pageNo)) | pageNo.length==0)
{
alert("页数必须为数字!");
return;
}
else
{
if((pageNo > totalPageNumber)|(pageNo<1))
{
alert("你所输入的页数超出范围!");
return;
}
}
//跳转到指定页
startShowPage = (pageNo-1)*perPageRecordNum;
endShowPage = pageNo*perPageRecordNum;
exeShowPage();
currentPageNumber = pageNo;
curPageNo.innerHTML = currentPageNumber;
totalPageNo.innerHTML = totalPageNumber;
}
}
//跳转到第一页
function goToFirstPage()
{
if(totalRecordNum != 0)
{
startShowPage = 0*perPageRecordNum;
endShowPage = 1*perPageRecordNum;
currentPageNumber = 1;
exeShowPage();
curPageNo.innerHTML = currentPageNumber;
totalPageNo.innerHTML = totalPageNumber;
}
}
function goToLastPage()
{
if(totalRecordNum != 0)
{
if(totalRecordNum%perPageRecordNum==0)//除尽
{
var tempVal = totalRecordNum/perPageRecordNum;
startShowPage = (tempVal-1)*perPageRecordNum;
endShowPage = tempVal*perPageRecordNum;
}
else
{
var tempVal = totalRecordNum%perPageRecordNum;//得到余数,就是最后一页要显示的记录条数
startShowPage = totalRecordNum-tempVal;
endShowPage = totalRecordNum;
}
currentPageNumber=totalPageNumber;
exeShowPage();
curPageNo.innerHTML = currentPageNumber;
totalPageNo.innerHTML = totalPageNumber;
}
}
function goToNextPage()
{
if(totalRecordNum != 0)
{
if(currentPageNumber< totalPageNumber)
{
currentPageNumber = Number(currentPageNumber)+1;
startShowPage = (currentPageNumber-1)*perPageRecordNum;
endShowPage = currentPageNumber*perPageRecordNum;
exeShowPage();
curPageNo.innerHTML = currentPageNumber;
totalPageNo.innerHTML = totalPageNumber;
}
else
{
alert("当前页已经是最后一页了!");
}
}
}
function goToBeforePage()
{
if(totalRecordNum != 0)
{
if(currentPageNumber>1)
{
currentPageNumber = currentPageNumber-1;
startShowPage = (currentPageNumber-1)*perPageRecordNum;
endShowPage = currentPageNumber*perPageRecordNum;
exeShowPage();
curPageNo.innerHTML = currentPageNumber;
totalPageNo.innerHTML = totalPageNumber;
}
else
{
alert("当前页已经是第一页了!");
}
}
}
function exeShowPage()
{
for(var i = 0; i<totalRecordNum;i++)
{
if ((i>=startShowPage)&&(i<endShowPage))
{
document.getElementByIdx_x("row"+i).style.display="";
}
else
{
document.getElementByIdx_x("row"+i).style.display="none";
}
}
}
function submitQuery()
{
var sForm = document.JXCardNumQueryForm;
if(sForm.elements["jxCardVO.jxcardid"].value==""){
alert("请输入您要查询的卡号!");
sForm.elements["jxCardVO.jxcardid"].focus();
return 0;
}
if(sForm.elements["jxCardVO.password"].value==""){
alert("请输入您要查询的密码!");
sForm.elements["jxCardVO.password"].focus();
return 0;
}
sForm.action="jxCardNumQuery.do?type=dxk";
sForm.submit();
return;
}
function cancelQuery()
{
window.history.go(-1);
}
function check()
{
if(document.all("card_no").value==""){
alert("卡号不能为空,请输入卡号!");
document.all("card_no").focus();
return false;
}
if(document.all("password").value==""){
alert("密码不能为空!");
document.all("password").focus();
return false;
}
return true;
}
//-->
</script>
<body onLoad="javascript:goToFirstPage();">
<%if(totalRecordNum!=0) {%>
<tr>
<td colspan='4' align="right">
当前第<span id="curPageNo"></span>页/总计<span id="totalPageNo"></span>页
<a onClick="javascript:goToFirstPage();" style="cursor:hand;"><img src="data:images/page_top.gif" width="9" height="9" border="0">第一页</a>
<a onClick="javascript:goToBeforePage();" style="cursor:hand;"><img src="data:images/page_prev.gif" width="9" height="9" border="0">上一页</a>
<a onClick="javascript:goToNextPage();" style="cursor:hand;">下一页<img src="data:images/page_next.gif" width="9" height="9"></a>
<a onClick="javascript:goToLastPage();" style="cursor:hand;">最后一页<img src="data:images/page_end.gif" width="9" height="9" border="0"></a>
<input type="text" id="pageNum" name="pageNum" size="5" onkeydown="javascript:keyDown();">
<input type="button" class="orangebtn_s" value="Go!" onclick="javascript:goToPage();" />
</td>
</tr>
<%}
else{%>
<tr>
<td colspan='4' align="right">
<span id="curPageNo"></span>
<span id="totalPageNo"></span>
</td>
</tr>
<%}%>
</logic:present>
</table>
</td>
</tr>
</table>
</html:form>
- Mybatis+SpringMVC实现分页查询(附源码)
Maven+Mybatis+Spring+SpringMVC实现分页查询(附源码) 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Mybatis+MySQ ...
- 从Chrome源码看JS Array的实现
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...
- 【 js 模块加载 】【源码学习】深入学习模块化加载(node.js 模块源码)
文章提纲: 第一部分:介绍模块规范及之间区别 第二部分:以 node.js 实现模块化规范 源码,深入学习. 一.模块规范 说到模块化加载,就不得先说一说模块规范.模块规范是用来约束每个模块,让其必须 ...
- 从Chrome源码看浏览器的事件机制
.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...
- 从微信小程序开发者工具源码看实现原理(一)- - 小程序架构设计
使用微信小程序开发已经很长时间了,对小程序开发已经相当熟练了:但是作为一名对技术有追求的前端开发,仅仅熟练掌握小程序的开发感觉还是不够的,我们应该更进一步的去理解其背后实现的原理以及对应的考量,这可能 ...
- 从微信小程序开发者工具源码看实现原理(四)- - 自适应布局
从前面从微信小程序开发者工具源码看实现原理(一)- - 小程序架构设计可以知道,小程序大部分是通过web技术进行渲染的,也就是最终通过浏览器的dom tree + cssom来生成渲染树:既然最终是通 ...
- 【Vue2.x笔记3】从源码看watch对象
初始化 function initWatch (vm: Component, watch: Object) { for (const key in watch) { const handler = w ...
- 从源码看Azkaban作业流下发过程
上一篇零散地罗列了看源码时记录的一些类的信息,这篇完整介绍一个作业流在Azkaban中的执行过程,希望可以帮助刚刚接手Azkaban相关工作的开发.测试. 一.Azkaban简介 Azkaban作为开 ...
- 解密随机数生成器(二)——从java源码看线性同余算法
Random Java中的Random类生成的是伪随机数,使用的是48-bit的种子,然后调用一个linear congruential formula线性同余方程(Donald Knuth的编程艺术 ...
随机推荐
- R语言-查找满足条件的数并获取索引
1.在R语言中,怎样找到满足条件的数呢? 比如给定一个向量c2.要求找到数值大于0的数: > c2 [1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0. ...
- maven 发布到仓库
到nexus中看到的仓库地址 <distributionManagement> <repository> <id>releases</id> <n ...
- Cookies揭秘 [Asp.Net, Javascript]
一,前言 Cookies想必所有人都了解, 但是未必所有人都精通.本文讲解了Cookies的各方面知识, 并且提出来了最佳实践.这是笔者在日常工作中的积累和沉淀. 二,基础知识 1.什么是Cookie ...
- VS报:"dll标记为系统必备组件,必须对其进行强签名"错误
问题: VS生成程序时,报“要将程序集“XX.dll”标记为系统必备组件,必须对其进行强签名.”错误. 解决方法: 1)在报错的解决方案中找到一个可以发布的项目(引用该XX.dll的项目未必可以发布) ...
- 使用select函数改进客户端/服务器端程序
一.当我们使用单进程单连接且使用readline修改后的客户端程序,去连接使用readline修改后的服务器端程序,会出现一个有趣的现象,先来看输出: 先运行服务器端,再运行客户端, simba@ub ...
- Linux时间子系统(十二) periodic tick
一.tick device概念介绍 1.数据结构 在内核中,使用struct tick_device来抽象系统中的tick设备,如下: struct tick_device { struct ...
- 解决svchost占用内存过高问题
摘抄自:https://jingyan.baidu.com/article/d169e1867cea7e436611d801.html svchost占用内存过高,会导致内存100%电脑卡住,CPU温 ...
- java中如何设置下载文件
如果想要设置某一url为下载文件的方法如下 需要设置文件响应类型,使用response.setContentType,比如jpeg格式的图片.如果想要访问该页面时出现下载保存的窗口,使用respons ...
- 《Effective Java》读书笔记五(枚举和注解)
No30 用enum代替int常量 一:综述 int枚举模式,示范: // The int enum pattern - severely deficient! public static final ...
- 【Android】11.3 屏幕旋转和场景变换过程中GridView的呈现
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 实际上,对于布局文件中的View来说,大多数情况下,Android都会自动保存这些状态,并不需要我们都去处理它.这 ...