作者loblve (梅)
看板Ajax
标题[问题] 有关计算动态新增表单内容的问题
时间Thu Jul 21 15:08:06 2011
我遇到的问题是在写动态新增表格栏位
我用javascript来计算总共有几个相同的name
我每次按新增按钮,就会透过ajax产生一个row然後里面放相同name隐藏栏位
之後我计算有几个隐藏栏位然後当成参数丢到资料库中
可是我发现我新增一个name的隐藏栏位会读不到
两个以上他才读的到
我很困扰
请帮忙解决 谢谢
程式如下:
var oLen = document.getElementById('table_invite').rows.length;//12345
var oTr = document.getElementById('table_invite').insertRow(oLen);//将新增的
朋友名字出现在table中
//alert("oLEN="+oLen);
var opermi ;
switch(grade)
{
case 0:{opermi = "(只可浏览活动内容) ";break;}
case 1:{opermi = "(可邀请其他朋友) ";break;}
case 2:{opermi = "(可修改完整活动内容) ";break;}
default: break;
}
//alert("oLen="+oLen);
var oTd0 = oTr.insertCell(0);
oTd0.className = "nohover_blk";
oTd0.innerHTML = '<span class="bigfontsize">'+now_invitename+'</span><span
class="smallfontsize">'+opermi+'</span>';
var oTd1 = oTr.insertCell(1);
oTd1.className = "hover_blk";
oTd1.innerHTML ="<a href='#'>[x]</a>";
oTd1.firstChild.onclick = deleteRow_invite;
//oTd1.innerHTML = grade;
var oTd2 = oTr.insertCell(2);
oTd2.innerHTML = '<input name="invite_permi" type="hidden" value="'+grade+'"
/>';
var oTd3 = oTr.insertCell(3);
oTd3.innerHTML = '<input name="invite_aid" type="hidden"
value="'+now_inviteid+'" />';
var rlen = document.getElementById('table_invite').rows.length;//目前
table_invite有几个row,都没有row=1,有就会>1
alert("rlen="+rlen);
if(rlen>1)
{
var odetail = document.forms["form_invite"];//利用form来抓每位邀请者的id
var oid = odetail.elements.invite_aid;//name=invite_aid
var opermi = odetail.elements.invite_permi;
alert("oid.length="+oid.length);
//var oselect = odetail.elements.aid;
//alert("length="+ocontent.length);
//alert(ocontent);
for(var s=0;s<oid.length;s++)//在str後面在新增每个新增使用者的id跟权限和有几
个row方便之後mysql的for回圈圈数
{
str +=
'&rlen='+(rlen-1)+'&permi_'+s+'='+opermi[s].value+'&uid_'+s+'='+oid[s].value;
}
}
问题:
在只有一个name时,则oid.length=undefined
有两个以上时,则oid.length=实际栏位个数
为什麽遇到一个栏位时就会错误?
麻烦解惑谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.153