精华帖 (0) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-29
<form id="frm1" name="frm1"> <input type="hidden" id="id" value="123"> </form> 利用PROTOTYPE取FORM id時會有問題發生...請問各位如何解決呢??? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-29
没发现什么问题,搂住可以在描述下马
|
|
返回顶楼 | |
发表时间:2008-01-29
最後一個alert應顯示frm1,但卻顯示了OBJECT,我懷疑是它誤取了<input type="hidden" id="id"
<form id="frm1" name="frm1"> <input type="hidden" id="id" name="id" value="123" /> <input type="text" id="telephone" name="telephone" value="1234567" /> <input type="submit" onclick="javascript:alert('correct: ' + $('telephone').value);alert('correct: ' + $('telephone').id);alert('correct: ' + $('id').value);alert('wrong: ' + $('frm1').id);" /> </form> |
|
返回顶楼 | |
发表时间:2008-01-29
这个不是Prototype的bug,这个是DOM默认的行为,就是把下级对象的id name扩展为自己的属性名,如果重名当然覆盖原有属性,解决方法很简单就是使用getAttribute获得属性id name等等,但是ie还是有bug,就是getAttribute("id")还是object,需要加参数2,就是getAttribute("id",2)但是覆盖了的属性就丢失了在ie下,返回null,并且获得元素应该这样obj.elements["id"]这样
|
|
返回顶楼 | |
发表时间:2008-01-30
怀疑楼主为什么一定更要id="id",这种本身我觉得责怪任何一方的实现,因为自己是完全可以避免的,而且写成id="id",也是不妥的。
|
|
返回顶楼 | |
发表时间:2008-01-30
其實我也不想這樣...無奈現有的field的名稱的而且確是id而且不能更改..如果所有id也改為其他名稱相信是一件痛苦的事...
謝謝各位了! |
|
返回顶楼 | |
发表时间:2008-01-31
為何我用
alert(document.getElementById("frm1").getAttribute("id",2)); 返回的依然是null? |
|
返回顶楼 | |
发表时间:2008-01-31
o...對不起...看來我誤會了各位的意思...
請問是不是這樣 假如需要獲取叫id的element時可使用obj.elements['id'] 但假如需要獲取obj的id理論上可以使用 alert(document.getElementById("frm1").getAttribute("id",2)); 但實際上ie把它丟失了,因此它只返回null 換句話說是沒有任何辦法了對嗎? |
|
返回顶楼 | |
发表时间:2008-01-31
也不是没有任何办法,outerHTML里面还有
|
|
返回顶楼 | |
发表时间:2008-01-31
???如何利用outerHTML呢??
|
|
返回顶楼 | |