js获取“动态添加表格”中input的值

shixitong 2010-11-11 10:32:06
麻烦大家说个思路
...全文
885 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhq5230 2010-11-11
  • 打赏
  • 举报
回复
var g_tab = document.getElementById("jStable");
//获取指定表格内包含的总行数
rows = table_Rows("jStable");
//往指定表格中插入一行
var tr = g_tab.insertRow();
//获取该表格中一行中有多少列
var len = g_tab.rows[0].cells.length;
//获取指定select下拉列表中项的个数
var slen = document.getElementById("roomType0").options.length;
//获取指定select下拉列表对象
var sz = document.getElementById("roomType0");
for(var i=0; i<=len; i++){
var td = tr.insertCell(i);
td.align="center";
if(i==0){
td.innerHTML=""+eval(rows+1)+"";
}else if(i==1){
//生成下拉别表框
var select = "<select name='roomType"+rows+"'>";
for(var j=0;j<slen;j++){
s_text = sz.options[j].text;
s_value = sz.options[j].value;
select = select + "<option value='"+s_value+"'>"+s_text+"</option>"
}
select = select+"<select>";
td.innerHTML=select;
}else if(i==2){
td.innerHTML = "<input type='text' onkeyup='countRoom()' name='nnum"+rows+"' size='4' flag='I' style='ime-mode:disabled;' class='EditBox'> 间";
}else if(i==3){
td.innerHTML = "<input type='text' name='nprice"+rows+"' size='8' flag='A' style='ime-mode:disabled;' class='EditBox'>";
}else if(i==4){
td.innerHTML = "<input type='text' name='servfee"+rows+"' size='8' flag='A' style='ime-mode:disabled;' class='EditBox'>";
}else if(i==5){
td.innerHTML = "<input type='text' name='othfee"+rows+"' size='8' flag='A' style='ime-mode:disabled;' class='EditBox'>";
}else if(i==6){
td.innerHTML = "<input type='text' name='ndisc"+rows+"' size='8' flag='F2' style='ime-mode:disabled;' class='EditBox'>";
}else if(i==len-1){
td.innerHTML="<input type='button' name='delete' value='删除该行' onclick='deleteRow(this)'>";
}
}

这是动态添加表格中的行,其实思路都是一样的,我想你看了会明白的
JJYY0088 2010-11-11
  • 打赏
  • 举报
回复
happy664618843 2010-11-11
  • 打赏
  • 举报
回复
document.rows[i].cells[j].getElementsByTagName("INPUT");
for(var n=0;n<inputs.length;n++)
inputs[i].value="aa"+txt
zlRun 2010-11-11
  • 打赏
  • 举报
回复
input 中的id是用来唯一标示这个控件的 一般最好是一个页面内不要有相同的id
name 在一个页面内是可以有相同的···
shixitong 2010-11-11
  • 打赏
  • 举报
回复
楼上 说的event.srcElement.innerHTML;// 如果是用table 的点击事件,要考虑浏览器兼容以及判断 触发源是否textbox 我理解

tb.onclick=function(e)
{
e=e||event;
e = e.target || e.srcElement;
if(e.tagName=='INPUT') // 你还可以给你不同的textbox 设置不同的自定义属性,来标识是哪个文本框用e.getAttribute()来获取自定义属性值
{
alert(e.value);
}
}

这个不懂?
麻烦简单给我解释下 input 中的id和name 有什么区别?
hch126163 2010-11-11
  • 打赏
  • 举报
回复
楼上3位的反复都可行!

要看楼主是在什么情况下获取!


event.srcElement.innerHTML;// 如果是用table 的点击事件,要考虑浏览器兼容以及判断 触发源是否textbox

tb.onclick=function(e)
{
e=e||event;
e = e.target || e.srcElement;
if(e.tagName=='INPUT') // 你还可以给你不同的textbox 设置不同的自定义属性,来标识是哪个文本框用e.getAttribute()来获取自定义属性值
{
alert(e.value);
}
}
shixitong 2010-11-11
  • 打赏
  • 举报
回复
好了,可以取得。那为什么只设置name就不行呢?
NocturneLLJ 2010-11-11
  • 打赏
  • 举报
回复

event.srcElement.innerHTML
persuit666 2010-11-11
  • 打赏
  • 举报
回复
动态添加表格时,给每个表格写个id,比如tbl1,tbl2,...table
var otbl=document.getElementById('tbl1');比如取第2行第3列中input的值
if(otbl.rows[1].cells[2].children.length>0)
{
var oc=otbl.rows[1].cells[2].children[0];if(oc.tagName=='INPUT') v=oc.value;
}
沪php攻城师 2010-11-11
  • 打赏
  • 举报
回复
document.getElementById("XXX").value
只要你动态添加的input也设定了ID,就能获得
houtianfu 2010-11-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shixitong 的回复:]

好了,可以取得。那为什么只设置name就不行呢?
[/Quote]

name可重复 id不可重复

87,923

社区成员

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

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