[問題] Fx動態改變表單元件 POST抓不到值

看板Ajax作者 (carl)時間15年前 (2010/05/30 20:25), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串1/1
請問一下 我用js把form中的元件做修改 js執行完畫面上確定有新增<input> 但是submit卻只有IE有傳新增的input值 Fx則不行(php這端用$_POST抓不到這些值) 程式流程大概就是先把這個id的值清空 然後再照數字重新新增這樣 js我一開始是用innerHtml下去做修改 但是怎麼改在fx都不行 用js執行後 在html中的樣子 <div id="linkList"> 連結1名稱: <input type="text" value="連結1" size="20" name="releatedLinkName1"> <br> 網址: <input type="text" value="http://" size="40" name="releatedLink1"> <br> </div> //js檔 target = document.getElementById("linkList"); target.innerHTML = ""; for(i=1;i<=num;i++) { target.innerHTML = target.innerHTML + "\ 連結" + i + "名稱:<input type=\"text\" name=\"releatedLinkName" + i + "\" size=\"20\" value=\"連結" + i + "\"><br />連結" + i + "網址:<input type=\"text\" name=\"releatedLink" + i + "\" size=\"40\" value=\"http://\"><br /><br />\ "; } 然後我後來查資料 發現好像要用createElement 所以就改用這個 if ( target.hasChildNodes() ) //先把child node都清掉 { while ( target.childNodes.length >= 1 ) { target.removeChild( target.firstChild ); } } for(i=1;i<=num;i++) { var title=document.createTextNode("連結" + i + "名稱:"); target.appendChild(title); var input = document.createElement("input"); input.setAttribute("type","text"); input.setAttribute("name","releatedLinkName" + i); input.setAttribute("size","20"); input.setAttribute("value","連結" + i); target.appendChild(input); target.appendChild(document.createElement("br")); var link=document.createTextNode("連結" + i + "網址:"); target.appendChild(link); var input2 = document.createElement("input"); input2.setAttribute("type","text"); input2.setAttribute("name","releatedLink" + i); input2.setAttribute("size","40"); input2.setAttribute("value","http://"); target.appendChild(input2); target.appendChild(document.createElement("br")); } 但是結果還是只有ie可以 fx還是讀不到orz 請問我還有什麼地方沒注意到的嗎??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.142.117

05/30 21:02, , 1F
根據我的經驗,fx應該是可以吃動態新增的input,可能是在
05/30 21:02, 1F

05/30 21:02, , 2F
form中的html 有一些特別的問題...
05/30 21:02, 2F

05/30 22:26, , 3F
嗯 不知道耶..不過如果是預設的input IE和Fx都可以的說
05/30 22:26, 3F
carlcarl:轉錄至看板 Web_Design 05/30 22:46

05/31 00:56, , 4F
你的JS一定要放在div後面,不然DOM找不到東西...
05/31 00:56, 4F

05/31 00:56, , 5F
或是放在window.onload裡面
05/31 00:56, 5F

05/31 00:57, , 6F
05/31 00:57, 6F
文章代碼(AID): #1C0bbLMo (Ajax)
文章代碼(AID): #1C0bbLMo (Ajax)