DANCE WITH JAVA
开发出高质量的系统
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2007年9月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
随笔分类
(270)
dao层框架(5)
(rss)
jdk相关(51)
(rss)
SWT和插件开发(28)
(rss)
web框架(9)
(rss)
其它开源框架(9)
(rss)
利器(43)
(rss)
基础(9)
(rss)
搜索引擎lucence(10)
(rss)
新概念(2)
(rss)
片段(51)
(rss)
牢骚(17)
(rss)
脚本语言javascript(18)
(rss)
设计模式(18)
(rss)
随笔档案
(232)
2008年1月 (1)
2007年9月 (13)
2007年8月 (18)
2007年7月 (15)
2007年6月 (9)
2007年5月 (12)
2007年4月 (3)
2007年3月 (2)
2007年2月 (20)
2007年1月 (11)
2006年12月 (21)
2006年11月 (42)
2006年10月 (4)
2006年9月 (61)
阅读排行榜
1. 看到两个写的很好的关于字符集,编码的文章,推荐大家看看,另外纠正了一下原文中的小bug(UTF-8 UniCode UTF-16 UCS 等)(6527)
2. 探索Java NIO的历程(4723)
3. hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等(4163)
4. Jdk1.5中的新特性 --泛型 (详细版)(3660)
5. eclipse rcp 开发实例 (源码下载)(3297)
6. Java中的模式 --单态 (部分翻译 double-checked locking break)(3158)
7. 走近EJB Jboss 下 Hello World(3138)
8. 学习eclipse插件开发资源全收集(plugin)(3101)
9. 一种产生socket write error的原因(sitemesh 相关)(2897)
10. 重载overloading和覆写overriding哪个更早起作用-- visitor帮助篇 (2787)
常用链接
我的随笔
我的评论
我的参与
最新评论
统计
随笔 - 232
文章 - 0
评论 - 428
引用 - 0
积分与排名
积分 - 272854
排名 - 22
好友之家
MakeFire的J2meWorld
myblog
黑马之家
最新评论
1. re: apache Ant中文手册 2.0版 (教程)
非常感谢
--lz726
2. re: 看到两个写的很好的关于字符集,编码的文章,推荐大家看看,另外纠正了一下原文中的小bug(UTF-8 UniCode UTF-16 UCS 等)
如果有实际的测试过程就完美了
--i18n
3. 内容有一点点错误
评论内容较长,点击标题查看
--Andycpp
4. re: apache Ant中文手册 2.0版 (教程)
感谢楼主,讲解很细。
--ello
5. re: apache Ant中文手册 2.0版 (教程)[未登录]
写得很好,非常感谢。
--ben
6. re: apache Ant中文手册 2.0版 (教程)[未登录]
写得很通俗易懂,谢谢
--zhang
7. re: struts-menu使用教程
评论内容较长,点击标题查看
--ttt
8. re: 对象与实例的区别
评论内容较长,点击标题查看
--陈炬
9. re: 对象与实例的区别
评论内容较长,点击标题查看
--陈炬
10. re: apache Ant中文手册 2.0版 (教程)
非常感谢!!!!
--focus
js中实现table的插入、修改、删除
进来工作慢慢远离web、远离js,看着自己这些年来学习过程中写过的上百个的js demo,感觉还是把它们发上来吧。虽然它们不够完善,但对于js初学者还是比较有用的。整理一下慢慢发上来,算是留念吧。
好了,第一从table开始吧
就是上边是一个表,下边是一些录入控件text ,select
实现了:插入 ,删除,修改,读取,验证类型唯一性(每种类型只能输入一个记录)
文中的内容直接存成html就能看到效果,所以我就不贴图片了。
<!
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.0 Transitional//EN
"
>
<
HTML
>
<
HEAD
>
<
TITLE
>
New Document
</
TITLE
>
<
META NAME
=
"
Generator
"
CONTENT
=
"
EditPlus
"
>
<
META NAME
=
"
Author
"
CONTENT
=
""
>
<
META NAME
=
"
Keywords
"
CONTENT
=
""
>
<
META NAME
=
"
Description
"
CONTENT
=
""
>
</
HEAD
>
<
script
>
var
flg
=
false
;
var
selectedColor
=
"
#99CCCC
"
;
var
initColor
=
"
#ffff99
"
;
var
selectedRowIndex
=
""
;
var
editObj;
function
add()
{
var
cell;
var
textNode;
//
add head
var
type
=
document.getElementsByName(
"
type
"
)[
0
];
head
=
type.options[type.selectedIndex].text;
//
check exist
var
hiddenHeads
=
document.getElementsByName(
"
hiddenHead
"
);
for
(i
=
0
;i
<
hiddenHeads.length;i
++
)
{
if
(hiddenHeads[i].value
==
type.value)
{
alert(
"
这个类型的记录已经存在
"
);
return
;
}
}
//
add row
tbl
=
document.getElementById(
"
paramTbl
"
);
rowsLen
=
tbl.rows.length;
row
=
tbl.insertRow(rowsLen);
//
create head tag
textNode
=
document.createTextNode(head);
cell
=
row.insertCell(
0
)
cell.setAttribute(
"
hight
"
,
"
22
"
);
cell.appendChild(textNode);
row.appendChild(cell);
//
add param tag
for
(i
=
1
;i
<
4
;i
++
)
{
paramValue
=
document.getElementsByName(
"
param
"
+
i)[
0
].value;
textNode
=
document.createTextNode(paramValue);
cell
=
row.insertCell(i)
cell.setAttribute(
"
hight
"
,
"
22
"
);
cell.appendChild(textNode);
row.appendChild(cell);
}
//
add head value
hiddenHead
=
document.createElement(
"
<input type='hidden' name='hiddenHead' value='
"
+
type.value
+
"
'/>
"
);
cell
=
row.insertCell(
4
)
cell.setAttribute(
"
hight
"
,
"
22
"
);
cell.appendChild(hiddenHead);
row.appendChild(cell);
//
add param value
for
(i
=
5
;i
<
8
;i
++
)
{
paramValue
=
document.getElementsByName(
"
param
"
+
(i
-
4
))[
0
].value;
hidden
=
document.createElement(
"
<input type='hidden' name='hiddenParam
"
+
(i
-
4
)
+
"
' value='
"
+
paramValue
+
"
'/>
"
);
cell
=
row.insertCell(i)
cell.style.display
=
'none';
cell.appendChild(hidden);
row.appendChild(cell);
}
row.onclick
=
function
()
{rowClick(
this
);}
;
row.bgColor
=
initColor;
init();
}
function
edit()
{
tbl
=
document.getElementById(
"
paramTbl
"
);
if
(selectedRowIndex
==
""
)
{
alert(
"
please select a row
"
);
return
;
}
for
(i
=
1
;i
<
4
;i
++
)
{
paramObj
=
document.getElementsByName(
"
param
"
+
i)[
0
];
hiddenObj
=
document.getElementsByName(
"
hiddenParam
"
+
i)[selectedRowIndex
-
1
];
hiddenObj.value
=
paramObj.value;
editObj.cells[i].innerText
=
paramObj.value;
}
init();
}
function
del()
{
tbl
=
document.getElementById(
"
paramTbl
"
);
tbl.deleteRow(selectedRowIndex);
selectedRowIndex
=
""
;
init();
}
function
rowClick(obj)
{
tbl
=
document.getElementById(
"
paramTbl
"
);
if
(selectedRowIndex
!=
""
)
{
tbl.rows[selectedRowIndex].bgColor
=
initColor;
}
selectedRowIndex
=
obj.rowIndex;
obj.bgColor
=
selectedColor;
//
reset select
var
type
=
document.getElementsByName(
"
type
"
)[
0
];
var
hiddenHead
=
document.getElementsByName(
"
hiddenHead
"
)[selectedRowIndex
-
1
];
var
opts
=
type.options;
if
(flg)
{
alert(selectedRowIndex
-
1
);
alert(hiddenHead);
alert(hiddenHead.value);
}
for
(i
=
0
;i
<
opts.length;i
++
)
{
if
(opts[i].value
==
hiddenHead.value )
{
opts[i].selected
=
true
;
}
}
//
copy param value
for
(i
=
1
;i
<
4
;i
++
)
{
paramObj
=
document.getElementsByName(
"
param
"
+
i)[
0
];
hiddenObj
=
document.getElementsByName(
"
hiddenParam
"
+
i)[selectedRowIndex
-
1
];
paramObj.value
=
hiddenObj.value;
//
alert(hiddenObj.value);
}
editObj
=
obj;
}
function
init()
{
for
(i
=
1
;i
<
4
;i
++
)
{
param
=
document.getElementsByName(
"
param
"
+
i)[
0
];
param.value
=
""
;
}
var
type
=
document.getElementsByName(
"
type
"
)[
0
];
type.options[
0
].selected
=
true
;
}
function
test()
{
hiddenObjs
=
document.getElementsByName(
"
hiddenParam1
"
)
for
(i
=
0
;i
<
hiddenObjs.length;i
++
)
{
alert(hiddenObjs[i].value);
}
var
hiddenHeads
=
document.getElementsByName(
"
hiddenHead
"
);
for
(i
=
0
;i
<
hiddenHeads.length;i
++
)
{
alert(hiddenHeads[i].value);
}
}
function
test2()
{
if
(flg)
{
flg
=
false
;
}
else
{
flg
=
true
;
}
}
function
reset()
{
tbl
=
document.getElementById(
"
paramTbl
"
);
if
(selectedRowIndex
!=
""
)
{
tbl.rows[selectedRowIndex].bgColor
=
initColor;
selectedRowIndex
=
""
;
}
for
(i
=
1
;i
<
4
;i
++
)
{
param
=
document.getElementsByName(
"
param
"
+
i)[
0
];
param.value
=
""
;
}
}
</
script
>
<
BODY
>
<
div style
=
"
height:132px; width:100%; overflow-x:auto; overflow-y:auto; background-color:#ffff99;
"
>
<
table id
=
"
paramTbl
"
width
=
"
100%
"
>
<
tr
>
<
td
>
类型
</
td
>
<
td
>
参数1
</
td
>
<
td
>
参数二
</
td
>
<
td
>
参数三
</
td
>
</
tr
>
</
table
>
</
div
>
<
table
>
<
tr
>
<
td
>
<
select name
=
"
type
"
onchange
=
"
reset()
"
>
<
option value
=
"
typeA
"
>
类型A
</
option
>
<
option value
=
"
typeB
"
>
类型B
</
option
>
</
select
>
</
td
>
<
td
>
<
input type
=
"
text
"
name
=
"
param1
"
/>
</
td
>
<
td
>
<
input type
=
"
text
"
name
=
"
param2
"
/>
</
td
>
<
td
>
<
input type
=
"
text
"
name
=
"
param3
"
/>
</
td
>
</
tr
>
<
tr
>
<
td
><
input type
=
"
button
"
onclick
=
"
add()
"
value
=
"
add
"
/></
td
>
<
td
><
input type
=
"
button
"
onclick
=
"
edit()
"
value
=
"
edit
"
/></
td
>
<
td
><
input type
=
"
button
"
onclick
=
"
del()
"
value
=
"
del
"
/></
td
>
<
td
><!--<
input type
=
"
button
"
onclick
=
"
test()
"
value
=
"
test
"
/>--></
td
>
</
tr
>
</
table
>
<!--
<
td
><
input type
=
"
button
"
onclick
=
"
test2()
"
value
=
"
test2
"
/></
td
>
<
td
><
input type
=
"
button
"
onclick
=
"
alert(selectedRowIndex)
"
value
=
"
test2
"
/></
td
>
-->
</
BODY
>
</
HTML
>
posted on 2007-09-10 15:24
dreamstone
阅读(1786)
评论(0)
编辑
收藏
所属分类:
片段
、
脚本语言javascript
新闻频道
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
成果网帮您增加网站收入
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
javascript 动态添加删除控件
javascript 关联列表的实现(简单的和复杂的)
最简单的ajax实现
javascript两种渐变效果进度条的实现
vb script实现杀掉进程
javascript 禁止输入、禁止粘帖、禁止拖放、禁止输入法
javascript 格式化数字