【问题标题】:How to attach a element to an iframe form?如何将元素附加到 iframe 表单?
【发布时间】:2015-01-28 17:36:39
【问题描述】:

这是我的 iframe 代码

<iframe id='SoapExeFrame' src='' style='display:none'>
<form id='soapdatas' action='ps_dlgwnd_3.jsp' method="post">
</form>
</iframe>

我想在提交请求到目标jsp页面之前附加一些表单元素,所以我写了下面的代码

var oInput = SoapExeFrame.document.createElement('INPUT');
oInput.name ="webservice/webservice";
oInput.value = valueofService;
SoapExeFrame.soapdatas.appendChild(oInput);

但是 IE11 抛出一个错误,指出soapdatas 不存在。

【问题讨论】:

    标签: javascript html dom iframe


    【解决方案1】:

    获取 iFrame 文档与普通文档不同,这就是您可能遇到问题的原因。

    var SoapExeFrame = document.getElementById('SoapExeFrame').contentDocument || document.getElementById('SoapExeFrame').contentWindow.document;
    
    var oInput = SoapExeFrame.createElement('input');
    oInput.name ="webservice/webservice";
    oInput.value = valueofservice;
        //Append to the form
    SoapExeFrame.getElementById('soapdatas').appendChild(oInput);
    

    我在http://codepen.io 中运行了这个,我发现 iFrame 不包含表单,这是您可能无法使用它的另一个原因,因为它里面的数据是在 iFrame 不存在的情况下t 在该浏览器中运行(我相信),您需要先对其进行排序,然后 javascript 才能工作。

    【讨论】:

    • 嗨,你能帮我如何让 iframe 正常工作并解决问题
    • 你能帮我把那个表格弄出来吗
    • 你能给我更多的上下文,比如为什么你不把按钮放在没有javascript的地方
    • iframe 用于进行伪 ajax 调用,此 iframe 仅用于收集所有数据,然后将其提交给 servlet。无论如何,我正在研究另一种解决方法。感谢您的帮助
    • 很高兴能为您服务
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    • 2015-03-09
    • 2021-04-18
    • 2020-04-17
    • 1970-01-01
    • 2017-06-23
    • 2012-09-12
    相关资源
    最近更新 更多