执着的笨蛋
黑暗的SH!灰暗的人生!
BlogJava
首页
新随笔
联系
聚合
管理
随笔 - 154 文章 - 60 trackbacks - 0
<
2007年11月
>
日
一
二
三
四
五
六
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
7
8
声明:
该blog是为了收集资料,认识朋友,学习、提高技术,所以本blog的内容除非声明,否则
一律为转载
!!
感谢那些公开自己技术成果的高人们!!!
支持开源,尊重他人的劳动!!
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(148)
ajax&js(46)
DB(22)
html(11)
j2ee(11)
j2me(1)
j2se(43)
other(7)
xml(7)
随笔档案
(143)
2008年5月 (1)
2008年4月 (8)
2008年3月 (17)
2008年2月 (22)
2008年1月 (4)
2007年12月 (8)
2007年11月 (34)
2007年10月 (37)
2007年9月 (12)
收藏夹
(2)
ppp(2)
其他
学习(技术)
ander小明的blog
ander小明的blog
anotherbug的blog(北京)
DANCE WITH JAVA
MySQL 中文网
solol.org
任再旺(山东)
另一个
城市胡同
戴一波 CNBRUCE'S BLOG(布鲁斯狼)
林信良(良葛格)
金色阳光
关注Eclipse,Ajax,Struts,Hibernate,Spring,Java,jsp,web service,计算机安全等信息。
观察思考(非技术)
冉云飞
新语丝网站
新语丝论坛
罗永浩---傻逼老愤青
个人网站
罗永浩--牛博
牛博国际
搜索
最新评论
1. re: javax.swing.JOptionPane.showMessageDialog() 方法
hdyjrt
--fjfjtu
2. re: 页面加载进度条(js)[未登录]
13
--1
3. re: swing使用进度条的一个例子(整理)[未登录]
ddddd
--ddd
4. re: 世界编程大赛头名程序!(爆强)
输入debug<1.txt 命令回车后,同时按ALT+Enter ,就是全屏显示!的确很强很强!
--JQG
5. re: java 读xml文件例子[未登录]
@hh
为什么只能读取指定文档而不是针对所有文档都能读取呢?这不是浪费代码吗?
--啦啦啦
阅读排行榜
1. javax.swing.JOptionPane.showMessageDialog() 方法 (17409)
2. java 读xml文件例子(14176)
3. java操作Excel(Jakarta_POI)(10493)
4. js table操作--------table滚动条(10110)
5. java sax 解析 xml(9147)
评论排行榜
1. js table操作 -------- 移动行(8)
2. java操作Excel(Jakarta_POI)(8)
3. 高,高,html的页面刷新(原创)(3)
4. JavaScript类的继承(3)
5. javax.swing.JOptionPane.showMessageDialog() 方法 (3)
js table 操作-----实现table的插入、修改、删除
上边是一个表,下边是一些录入控件text ,select
实现了:插入 ,删除,修改,读取,验证类型唯一性(每种类型只能输入一个记录)
<!
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-11-29 16:53
lk
阅读(1079)
评论(0)
编辑
收藏
所属分类:
ajax&js
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
[JS]Cookie精通之路
[转]40种网页常用小技巧----Ajax中国
如何使用Javascript格式化数字显示
javascript函数(格式化数字,日期比较,光标处插入或修改文字,JS图片动画效果)
让你的网页更精彩 - Javascript 调用MSAgent
zoom.js 使用事例
[转]js日期时间函数(经典+完善+实用)
js获取 日期 星期 时间
JAVASCRIPT的常用技术
close window