Form.element["..."]出错! 纠正一点是先点add按钮追加出若干行后点Click按钮的时候出错! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function my_click(){ var PForm = eval(document.form1.elements["INS_100_ZPROJText01"]); alert(PForm.name); } alert(PForm.elements["INS_101_ZPROJText01"].name); 改为:alert(PForm.elements[0].name); function my_click(){ var PForm = document.form1.elements["INS_100_ZPROJText01"]; //这才有意义alert(PForm.name); } ie实现可能有bug,在ff下点add后没有出现错误,如果没点过add,ie和ff都有错误... 那样创建text时在ie把name属性去掉了..........汗......这样可以function add(){ PXID++; var PTR = document.createElement("TR"); var PTD01 = document.createElement("TD"); PTD01.innerHTML="<input type='text' name='INS_"+PXID+"_ZPROJText01'/> "var PTD02 = document.createElement("TD"); PTD02.innerHTML="<input type='text' name='INS_"+PXID+"_ZPROJText02'/> "//var PIN01 = document.createElement("INPUT");PIN01.type="text";PIN01.name="INS_"+PXID+"_ZPROJText01"; //var PIN02 = document.createElement("INPUT");PIN02.type="text";PIN02.name="INS_"+PXID+"_ZPROJText02"; PTR.appendChild(PTD01); PTR.appendChild(PTD02); var PMyTBODY = document.getElementById("MyTBODY"); PMyTBODY.appendChild(PTR); } 感谢楼上各位的回答document.form1.elements["INS_100_ZPROJText01"];是能取到东西的,但是后面点add动态创建出来的INS_101_ZPROJText01,INS_102_ZPROJText01...等等对象通过elements[name]就取不到了。我感到疑惑的是这个。debug的时候发现INS_101_ZPROJText01的name属性有值的阿,只是outerhtml没难道elements方法取值是通过innerhtml取的?试了下showbo大大的办法,似乎可以。而且这个问题确实是在ie有,ff下正常只能解释为ie的bug了? http://topic.csdn.net/u/20080605/20/20a3ca1d-c3ca-4aca-b511-6df28dae59dd.html7楼的回复 var td2 = document.createElement("td"); var input1 = document.createElement("input"); input1.setAttribute("type","text"); input1.id = "fieldMeisaiNumber_" + _rowCount;这是我写的好用的PIN01.name="INS_"+PXID+"_ZPROJText01"; //是不是PIN01.id?? 好像用id也可以取到用id的话我直接用$("INS_101ZPROJText01")了但是name应该也可以啊,看msdn的说明http://msdn.microsoft.com/en-us/library/ms537449.aspx var PIN01=document.createElement(" <input name=INS_"+PXID+"_ZPROJText01 />'); PIN01.type="text"; ...mingxuan兄是这个意思吧,我试了下,似乎行添加不对了楼上各位已经提供了多种绕过这个问题的解决方法,谢谢大家现在的疑问主要是form.elements[name]方法到底是通过什么样的机制去取得对象的,这个我在网上找了半天也没找到一个详细的说法。。 直接 alert(PForm.INS_101_ZPROJText01.name); 恩,这样确实可以,但是当input结点的名字不固定的时候,这样写就有局限性了。比如function getValue(int i){ return document.form1.elements["INS_"+i+"_ZPROJText01"];} ext界面如何实时的去向服务端发送请求,并接受响应 怎么解决jquery动态加载的问题 请资深专家解答,javascript的dom问题? innerHTML中的javascript语句不执行的问题 关于JS中的parent下的属性 有谁知道这是什么javascript相册?寻准确名称 如何给下拉列表的选项添加样式 关于父窗口操作子窗口的问题! 如何用函数或者正则表达式替换空格? 怎么从子窗口向父窗口传递数据?请前辈帮帮忙,在线等! 关于csdn的 选择论坛 按钮的js效果 怎麼將這個變量內容追加到一個<select>標簽的後面
var PForm = eval(document.form1.elements["INS_100_ZPROJText01"]);
alert(PForm.name);
}
改为:
alert(PForm.elements[0].name);
function my_click(){
var PForm = document.form1.elements["INS_100_ZPROJText01"]; //这才有意义
alert(PForm.name);
}
function add(){
PXID++;
var PTR = document.createElement("TR");
var PTD01 = document.createElement("TD");
PTD01.innerHTML="<input type='text' name='INS_"+PXID+"_ZPROJText01'/> "
var PTD02 = document.createElement("TD");
PTD02.innerHTML="<input type='text' name='INS_"+PXID+"_ZPROJText02'/> "
//var PIN01 = document.createElement("INPUT");PIN01.type="text";PIN01.name="INS_"+PXID+"_ZPROJText01";
//var PIN02 = document.createElement("INPUT");PIN02.type="text";PIN02.name="INS_"+PXID+"_ZPROJText02";
PTR.appendChild(PTD01);
PTR.appendChild(PTD02);
var PMyTBODY = document.getElementById("MyTBODY");
PMyTBODY.appendChild(PTR);
}
INS_101_ZPROJText01,INS_102_ZPROJText01...等等对象通过elements[name]就取不到了。我感到疑惑的
是这个。debug的时候发现INS_101_ZPROJText01的name属性有值的阿,只是outerhtml没
难道elements方法取值是通过innerhtml取的?试了下showbo大大的办法,似乎可以。而且这个问题确实是在ie有,ff下正常只能解释为ie的bug了?
var input1 = document.createElement("input"); input1.setAttribute("type","text"); input1.id = "fieldMeisaiNumber_" + _rowCount;
这是我写的好用的
PIN01.name="INS_"+PXID+"_ZPROJText01"; //是不是PIN01.id??
好像用id也可以取到用id的话我直接用$("INS_101ZPROJText01")了
但是name应该也可以啊,看msdn的说明http://msdn.microsoft.com/en-us/library/ms537449.aspx
var PIN01=document.createElement(" <input name=INS_"+PXID+"_ZPROJText01 />');
PIN01.type="text";
...
mingxuan兄是这个意思吧,我试了下,似乎行添加不对了
楼上各位已经提供了多种绕过这个问题的解决方法,谢谢大家
现在的疑问主要是form.elements[name]方法到底是通过什么样的机制去取得对象的,这个我在网上找了半天也没
找到一个详细的说法。。
恩,这样确实可以,但是当input结点的名字不固定的时候,这样写就有局限性了。
比如
function getValue(int i){
return document.form1.elements["INS_"+i+"_ZPROJText01"];
}