请教:js实现了自动添加表格行,每行每列都添加了一个文本域,给文本域赋值的时候,出现了问题

yujiajie1985 2007-04-06 09:13:54
问题是这样的:
一下代码实现了,自动给一个表格添加行和列
function addItem() {

var oRow = detailTable.insertRow();
oRow.align = "center";

oCell = oRow.insertCell();
oCell.innerHTML = oRow.rowIndex;

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='bianhao' size='8' >";


oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='number' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='state' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='bstate' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='cols' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = '<image src="../images/delete.gif" onclick="delItem('+oRow.rowIndex+')"/>';

}
这个功能可以实现,但是我原本是想把form1里面的input text 和select的Value值自动的写到我点击按钮自动生成的表格里的oCell.innerHTML = "<input type='text' name='bstate' size='8'>";里去,我写了一下,第一行可以添加,第二行,就添加不了数据了,我写的添加的函数是这样的
function setValue() {
var length = detailTable.rows.length;

//if (length>2) {
//document.all.bianhao[length].value =document.form1.textfield.value;
//document.all.number[length].value = document.form1.textfield2.value;
//} else {
document.all.bianhao.value =document.form1.textfield.value;
document.all.number.value = document.form1.textfield2.value;
//}
}

请高手帮我改改!!!谢谢了。在线敌等
...全文
714 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujiajie1985 2007-04-06
  • 打赏
  • 举报
回复
对于selcet还是不对啊,你们说的数组我知道,就是像你们这样写,添加不了啊!!如果用
obj = document.getElementsByName("bianhao");
len = obj.length;
obj[len-1].value= "ddddddddddd";
可以添加了,但是相对应的对select操作的,怎么做啊?
lizhongbin 2007-04-06
  • 打赏
  • 举报
回复
当楼主添加第二行时,又添加了同名的几个文本框,这时用document.all.bianhao这个取到的将会是一个数组
lizhongbin 2007-04-06
  • 打赏
  • 举报
回复
function setValue() {

if(document.all.bianhao.length >1 ){
document.all.bianhao[document.all.bianhao.length-1].value =document.form1.textfield.value;
document.all.number[document.all.bianhao.length-1].value = document.all.select.options[document.all.select.selectedIndex].text;
}else{
document.all.bianhao.value = document.form1.textfield.value;
document.all.number.value = document.all.select.options[document.all.select.selectedIndex].text;
}
}
rjzou2006 2007-04-06
  • 打赏
  • 举报
回复
<select name="select">
<option value='1'>柜台可以使用</option>
<option value='2'>柜台暂停使用</option>
</select>

<script language="JavaScript">
<!--
alert(document.all.select.value);
//-->
</script>
hbhbhbhbhb1021 2007-04-06
  • 打赏
  • 举报
回复
还用关键字“select”
<select name="select1">
得到选的是第几个用
document.getElementById("select1").selectedIndex
hbhbhbhbhb1021 2007-04-06
  • 打赏
  • 举报
回复
<table id="detailTable">
</table>
<script language=javascript>
function addItem() {

var oRow = detailTable.insertRow();
oRow.align = "center";

oCell = oRow.insertCell();
oCell.innerHTML = oRow.rowIndex;

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='bianhao' size='8' >";


oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='number' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='state' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='bstate' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='cols' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = '<image src="../images/delete.gif" onclick="delItem('+oRow.rowIndex+')"/>';

}
function setValue() {
var lengthNum = detailTable.rows.length-1;
//alert(detailTable.outerHTML)
if (lengthNum>2) {
document.all.bianhao[lengthNum].value =document.form1.textfield.value;
document.all.number[lengthNum].value = document.form1.textfield2.value;
} else {
document.all.bianhao.value =document.form1.textfield.value;
document.all.number.value = document.form1.textfield2.value;
}
}
</script>
<form name="form1">
<input name="textfield" value="asdasdasd">
<input name="textfield2" value="vbnvbnvbn">
<input name="button1" value="添加" type="button" onclick="addItem()">
<input name="button1" value="写值" type="button" onclick="setValue()">
</form>
yujiajie1985 2007-04-06
  • 打赏
  • 举报
回复
rjzou2006(一个小泡) 你好,用你的方法,是可以添加很多行了,我现在不是怎么获取一个
<select name="select">
<option>柜台可以使用</option>
<option>柜台暂停使用</option>
</select>
的选择的是那一个?希望大家继续帮我!!
rjzou2006 2007-04-06
  • 打赏
  • 举报
回复
<!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>

<body>
<script language="JavaScript">
<!--
function addItem() {

var oRow = detailTable.insertRow();
oRow.align = "center";

oCell = oRow.insertCell();
oCell.innerHTML = oRow.rowIndex;

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='bianhao' size='8' >";


oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='number' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='state' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='bstate' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = "<input type='text' name='cols' size='8'>";

oCell = oRow.insertCell();
oCell.innerHTML = '<image src="../images/delete.gif" onclick="delItem('+oRow.rowIndex+')">';

}
//这个功能可以实现,但是我原本是想把form1里面的input text 和select的Value值自动的写到我点击按钮自动生成的表格里的oCell.innerHTML = "<input type='text' name='bstate' size='8'>";里去,我写了一下,第一行可以添加,第二行,就添加不了数据了,我写的添加的函数是这样的
function setValue() {
//var length = detailTable.rows.length;

obj = document.getElementsByName("bianhao");
len = obj.length;
obj[len-1].value= "ddddddddddd";

}
//-->
</script>
<form method=post action="">
<input type="button" onclick="addItem();">
<table id="detailTable">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<input type="button" value="setvalue" onclick="setValue()">
</form>
</body>
</html>
yujiajie1985 2007-04-06
  • 打赏
  • 举报
回复
hbhbhbhbhb1021(天外水火(我要多努力)) 你好
刚拿去试了下,没有成功啊,原来的语句,可以添加一行,现在,添加了行列,但是没有值
hbhbhbhbhb1021 2007-04-06
  • 打赏
  • 举报
回复
试下,不要用关键字,上面还有命名为number的东西
var lengthNum = detailTable.rows.length;
eval("document.all.bianhao["+lengthNum +"].value =document.form1.textfield.value");

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧