[問題] 有關計算動態新增表單內容的問題
我遇到的問題是在寫動態新增表格欄位
我用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
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章