JS动态添加表单元素后无法取值

pzzc28 2012-10-18 04:38:43
代码如下,我添加一行以后,页面上能够显示添加出来的输入框,但是用getElementsByName就是取不到输入框中的值,
浏览器是IE8。请大家指点。

//表格添加行的方法
function addtr(gcInvName,cInvStd,gcInvM_Unit)
{
var newTR = $('pltab').insertRow($('pltab').rows.length);
newTR.id = "pltr"+gpcInvAddCode;
var td1 = newTR.insertCell(0);
td1.innerHTML = gcInvName;
var td2 = newTR.insertCell(1);
td2.innerHTML = cInvStd;
var td3 = newTR.insertCell(2);
td3.innerHTML = gcInvM_Unit;
var td4 = newTR.insertCell(3);
var inputnum = document.createElement("input");
inputnum.type="text";
inputnum.name="cpnumlist";
inputnum.size="7";
inputnum.value="0";
inputnum.disabled=false;
td4.appendChild(inputnum);
}
function mysubmit()
{
if(confirm("确认添加完毕?"))
{
var cpnumlist = document.getElementsByName('cpnumlist');
//这个地方cpnumlist 的长度始终为1,后面就没法继续了。。。
//之后的代码是把所有名字是cpnumlist的数字连接成一个字符串提交
}
}
...全文
404 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzzc28 2012-10-18
  • 打赏
  • 举报
回复
晕了,完全用innerHTML就能够用getElementsByName 读取值了。。奇怪了
td4.innerHTML='<input type="text" name="cpnumlist"/>';

js动态添加的反而不能读取....why????
pzzc28 2012-10-18
  • 打赏
  • 举报
回复
$('pltab')就是下面这个函数,相当于document.getElementById('pltab')
function $(id){
return document.getElementById(id);
}
ILOVE_ASPNET 2012-10-18
  • 打赏
  • 举报
回复
$('pltab') 是什么选择方式 标签吗?
ID 为 $('#pltab')
class 为$('.pltab')
name 为 $('input:[name='pltab'])
pzzc28 2012-10-18
  • 打赏
  • 举报
回复
$('pltab'),这里的$('')就是document.getElementById('')

87,992

社区成员

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

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