作者carlcarl (carl)
看板Ajax
标题[问题] Fx动态改变表单元件 POST抓不到值
时间Sun May 30 20:25:52 2010
请问一下
我用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
1F:→ TonyQ:根据我的经验,fx应该是可以吃动态新增的input,可能是在 05/30 21:02
2F:推 TonyQ:form中的html 有一些特别的问题... 05/30 21:02
3F:→ carlcarl:嗯 不知道耶..不过如果是预设的input IE和Fx都可以的说 05/30 22:26
※ carlcarl:转录至看板 Web_Design 05/30 22:46
4F:推 j100002ben:你的JS一定要放在div後面,不然DOM找不到东西... 05/31 00:56
5F:→ j100002ben:或是放在window.onload里面 05/31 00:56