【问题标题】:submit form from iframe and close it after submit and show a hidden div从 iframe 提交表单并在提交后关闭它并显示隐藏的 div
【发布时间】:2013-02-01 11:48:28
【问题描述】:

这就是我所拥有的

    <html>
    <head>
    </head>
    <body>
    <iframe id="myiframe">
    <form id= "myform" action="submit.php" method="POST">
    <input type="submit">
    </form></iframe>
    <div id="hiddendiv" style="display:none">
    some text
    </div>
    </body></html>

这就是我在 iframe 中的表单提交后想要的结果(通过输入或单击按钮提交,我不在乎,因为表单只有 1 个字段)

    <html>
    <head>
    </head>
    <body>
    //I want this iframe to become display:none or to be deleted
    /*<iframe id="myiframe">
    <form id= "myform" action="submit.php" method="POST">
    <input type="submit">
    </form></iframe>*/
    //and this div to be showed
    <div id="hiddendiv" style="display:">
    some text
    </div>
    </body></html>

谁能帮忙,谢谢

我有答案,但我必须等待 8 小时才能发布,所以我编辑了最初的问题,如果你愿意,你可以将其作为答案验证

知道了

<html>
<head>
</head>
<body>
<script>

function closeIframe() {
var iframe = document.getElementById('myiframe');
iframe.parentNode.removeChild(iframe);
document.getElementById("hiddendiv").style.display="";
}

</script>
<iframe id="myiframe">
<form id= "myform" action="submit.php" method="POST">
<input type="submit">
</form></iframe>
<div id="hiddendiv" style="display:none">
some text
</div>
</body></html>

在 submit.php 中返回的是这个

echo '<script type="text/javascript">';
echo 'parent.closeIframe()';
echo '</script>';

【问题讨论】:

    标签: javascript forms iframe hide show


    【解决方案1】:

    如果来自同一个域,请将其添加到 submit.php 并提取表单以放入 iframe 你需要

    <iframe src="form.html"></iframe>
    

    DEMO

    <script>
    top.document.getElementById("myiframe").style.display="none";        
    top.document.getElementById("hiddendiv").style.display="block";
    </script>
    

    【讨论】:

    • :) 我知道你知道你在说什么,但我不知道如何实现
    • 所以 submit.php 在我的情况下是一个邮件程序。所以我可以写一些东西,比如如果电子邮件被发送返回.....我如何在 php 中制定代码?
    • 不显示 hiddendive 并且在萤火虫中它告诉我 iframe 仍然占用它所在的空间,就像你隐藏它时一样,所以我可以删除 iframe 吗?
    • 我有一个错字。使用document. 而不是document, - 查看更新
    • 谢谢,但我有解决方案,请检查我的问题,请复制粘贴,以便我将其验证为解决方案
    【解决方案2】:
    <html>
    <head>
    </head>
    <body>
    <script>
    
    function closeIframe() {
    var iframe = document.getElementById('myiframe');
    iframe.parentNode.removeChild(iframe);
    document.getElementById("hiddendiv").style.display="";
    }
    
    </script>
    <iframe id="myiframe">
    <form id= "myform" action="submit.php" method="POST">
    <input type="submit">
    </form></iframe>
    <div id="hiddendiv" style="display:none">
    some text
    </div>
    </body></html>
    

    在 submit.php 中返回的是这个

    echo '<script type="text/javascript">';
    echo 'parent.closeIframe()';
    echo '</script>';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 2019-03-25
      • 1970-01-01
      相关资源
      最近更新 更多