2011-12-10 2 views
2

Firefox에 문제가 있습니다. 내가 한 일은 IE에서는 잘 작동하지만 Firefox에서는 제대로 작동하지 않습니다.innerHTML, <form> 및 Firefox

은 내가 window.parent의 형태와 div을 넣어 innerHTML를 사용 :이 div에서

window.parent.getElementById('DIV_page').innerHTML = getElementById('DIV_page').innerHTML ; 

form 보이는 같은 :

<form method="post" style="padding:0px;margin:0px;" name="f_bg_page" id="f_bg_page" target="If_menulb" action="if_menulb.php"> 
<input type="hidden" name="p" value="455"> 
<input type="hidden" name="w" value="prefs_lb"> 

내가 어떻게 innerHTML 형태에있는 divwindow.parent?

편집 : ID가 동일하지만 메인 페이지에 하나 있고 다른 하나는 iframe에 있으므로 동일하지 않습니다. 나는 방법을 발견했다 :

window.parent.document.getElementById('DIV_page').innerHTML = '' ; 
window.parent.document.getElementById('DIV_page').appendChild(document.getElemen‌​tById('DIV_page')); 

을하지만, IE와 오페라, 화이트 컬러 텍스트 흰색 배경을 가지고이 형태의 <input type="text">와 그러나이, 그래서 우리는이 <input>

의 텍스트를 볼 수 없습니다
+1

동일한 페이지에서 동일한 ID를 가진 두 개의 요소를 사용할 수 없습니다. 그것은 아마도 –

+0

일지도 모릅니다 @ 페카 : 당연히 당신은 할 수 있습니다. –

+0

어떤 JavaScript 오류가 있습니까? –

답변

0

이 경우 Pekka의 의견이 정확합니다. 같은 id를 갖는 두 개의 요소가 있기 때문에 javascript는 어느 것을 선택할지를 kmow하지 않습니다. 나는이 경우가 각 브라우저에서 다른 방식으로 구현된다고 생각한다. 어떤 사람들은 발견 한 것을 먼저 잡을 것이고, 다른 사람들은 다른 것을 할 것이다.

문제의 요소에 다른 ID를 지정하면 문제가 해결 된 것을 알 수 있습니다.

+0

그들은 같은 ID를 가졌지 만 하나는 메인 페이지에 있고, 다른 하나는 iframe, 그래서 그들은 동일하지 않습니다. 나는 길을 발견했다 :'window.parent.document.getElementById ('DIV_page'). innerHTML = ''; appendChild (document.getElementById ('DIV_page'));',하지만 Internet Explorer와 Opera가 있지만 defacto

+0

귀하의 자바 스크립트는 여전히 동일한 ID를 가진 두 요소의 차이를 나타낼 것으로 예상됩니다. 그것은 안전하게 작동 할 수 있습니다. – vascowhite