在iFrame中插入值

时间:2013-09-15 11:21:24

标签: javascript html wordpress forms iframe

我有这个结构,我想根据之前的表单更改表单的值。问题是,iframe没有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"> 
...

3 个答案:

答案 0 :(得分:0)

这样的东西会调用框架:

parent.frames[1].doWhatEver

所有框架都放在一个数组中,您网站的第一帧将是parent.frames[0],第二帧是parent.frames[1],依此类推。

修改

如果这不起作用,您始终可以使用此方法:

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

getElementsByTagName(tagName)返回一个数组,其中的元素包含tagName(例如<iframe>)。有了它,你可以得到你的框架。

答案 1 :(得分:0)

我无法理解您的问题,但如果您想在iframe中插入一些文字或html,您可以这样做:

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);

小提琴:here

答案 2 :(得分:-1)

如果它没有ID,你必须绘制DOM路径只需分析路径并在JavaScript或JQUERY中获取