Re: [問題] 用DOM新增的元素抓不到值?

看板Ajax作者 (you stay there)時間16年前 (2009/10/04 00:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《thirteeen (13)》之銘言: : 有耶 我有在送出的扭上呼叫測試的那段 : <input name="send_sql" type="submit" id="send_sql" value="確定" onClick="getall()"> : 但是還是抓不到 我的allclass1_text.length都一直是原本的數量 : dom新增的還是找不到說 我一開始用火狐都正常,後來測一下才知道... Firefox 正確 Google Chrome 正確 IE 新增的抓不到,見鬼XDDD 找了些資料,IE沒辦法動態設定name http://www.easy-reader.net/archives/2005/09/02/death-to-bad-dom-implementations/ 有IE的解決方式,不過解法在其他瀏覽器會掛掉 只好分開寫 囧 把測試頁改成下面這樣就可以了 大量用的話,可能也把新增物件再獨立出來會方便些 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5" /> <script> var count=0; function del1() { alert('XD') } function append(){ var div1=document.createElement("div"); div1.id="div"+count; div1.name="div"+count; var text_num; if(document.all) { //IE text_num=document.createElement('<INPUT name="class1_text">'); } else { text_num=document.createElement('INPUT'); text_num.name="class1_text"; } text_num.type="text"; text_num.value="其他類"; text_num.id="text"+count; div1.appendChild(text_num); var db1_num=document.createElement("INPUT"); db1_num.type="button"; db1_num.id="dbc"+count; db1_num.value="刪除"; db1_num.name="dbc"+count; db1_num.onclick=del1; div1.appendChild(db1_num); var AD = document.getElementById("alldiv"); AD.appendChild(div1); count++; } function getall() { var allclass1_text=document.getElementsByName("class1_text"); alert('length:'+allclass1_text.length); for(i=0;i<allclass1_text.length;i++) alert(allclass1_text[i].value); } </script> </head> <body> <input type="button" value=" new " onclick="append()"> <input type="button" value=" get " onclick="getall()"> <div id="alldiv"> <input type="text" value="1" name="class1_text"> <input type="text" value="2" name="class1_text"> </div> </body> </html> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.4.142
文章代碼(AID): #1Anu2wnR (Ajax)
文章代碼(AID): #1Anu2wnR (Ajax)