2011-12-10 10 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とOpera、白でカラーテキストと白い背景を持っているこのフォームで<input type="text">有するがありますので、我々はこの<input>

でテキストを見ることができません
+1

同じIDを持つ2つの要素を同じページに配置することはできません。それは可能性があります –

+0

@ペッカ:もちろんすることはできません。 –

+0

あなたはどんなJavaScriptエラーを起こしますか? –

答えて

0

この場合、Pekkaのコメントは正しいです。あなたは同じidを持つ2つの要素を持っているので、javascriptはどれを選択するかを指定しません。このケースは各ブラウザでさまざまな方法で実装されていると思います。最初に見つけた人もあれば、他の人は何かをする人もいます。

問題の要素に異なるIDを渡すと、問題が解決されたことがわかります。

+0

彼らは同じIDを持っていますが、一つはメインページにあり、 iframeと同じではありません私は方法を見つけました: 'window.parent.document.getElementById( 'DIV_page')。innerHTML = ''; ( 'DIV_page')) '、がありますが、IEとOperaでは、 defacto

+0

あなたのjavascriptは、同じidを持つ2つの要素の違いを伝えると予想されます。それは確実に働くことができます。 – vascowhite

関連する問題