0

私はこの構造を持っており、以前のフォームに基づいてフォームの値を変更したいと考えています。問題は、iframe に ID がなく、別のドメインからデータを取得するプラグインであるため、ID を設定できないことです。

    ...<input type="button" onclick="document.getElementById('betterplace').style.display='block';
              var betterplace = document.getElementById('betterplace')[0];betterplace.getElementsByTagName('iframe')[0].document.getElementById('donation_presenter_address_first_name').value=document.getElementById('_vorname').value;
                 " style="border:none; height: 50px; width: 250px; font-weight:bold; font-size: 14pt; background-color:#94C119;color:white;cursor: pointer;" value="Ihre Spende abschlie&szlig;en"/>



    <div id="betterplace" style="display:none;">
                <div style="width:500px;height:2px;margin-bottom:5px;background-color: #94c119"/>
                <br/>
    <script type="text/javascript"> 
...
4

3 に答える 3

0

私はあなたの問題を理解できませんが、テキストまたはhtmlをiframeに挿入したい場合は、これを行うことができます:

var iframe = document.getElementById('your iframe id') // if the iframe is already exists
    doc, div;

doc = iframe.contentDocument || iframe.contentWindow.document;
doc.open();
doc.write('some text') // if you want to write to the iframe
doc.close();

div = doc.createElement('div');
// this div will appear in iframe

doc.body.appendChild(div)

注: iframe ドメインがメイン ページのドメイン と同じ場合にのみ、iframe コンテンツを操作できます。

iframe の動的作成の例:

var iframe = document.createElement('iframe'),
    doc, div;
iframe.src = '' // same domain as main page

document.body.appendChild(iframe);

doc = iframe.contentDocument || iframe.contentWindow.document;
doc.open();
doc.write('some text') // if you want to write to the iframe
doc.close();

div = doc.createElement('div');
// this div will appear in iframe
div.appendChild(doc.createTextNode('im a div inside the iframe'));
doc.body.appendChild(div);

フィドル:ここ

于 2013-09-15T12:06:06.993 に答える
0

このようなものはフレームを呼び出します:

parent.frames[1].doWhatEver

すべてのフレームは配列に入れられ、サイトの最初のフレームはparent.frames[0]、2 番目のフレームなどになりますparent.frames[1]

編集:

これが機能しない場合は、いつでも次の方法を使用できます。

parent.getElementsByTagName("iframe")[0].doWhatEver
// or
parent.getElementsByTagName("frame")[0].doWhatEver

getElementsByTagName(tagName)tagName(例: )を持つ要素の配列を返します<iframe>。これで、フレームを取得できます。

于 2013-09-15T11:29:48.010 に答える
-1

ID がない場合は、DOM パスを描画する必要があります。パスを分析し、JavaScript または JQUERY で取得します。

于 2013-09-15T11:25:32.730 に答える