简单的iframe问题

时间:2013-02-09 16:35:17

标签: javascript html

将表单提交到iframe后,我的页面没有重新加载(这就是我想要的),但它向上滚动到顶部。 我该如何防止这种情况?

<script type="text/javascript">
    function showThanksDiv(){
      document.getElementById("myThanksDiv").style.visibility = "visible";
    }
</script>

<form id="contacts-form" method="post" action="email.php" target="myiframe" >
<fieldset>
<div class="alignright"><a href="#" onClick="document.getElementById('contacts-form').submit()">Send Your Message!</a></div>
</fieldset>
</form>

<iframe  name="myiframe" id="myiframe" src="" width=1 height=1 style="visibility:hidden;position:absolute;bottom:2px;"></iframe>

<div id="myThanksDiv" style="width:200px;height:150px; border:1px solid black; background:#fff;display:block;padding:20px; visibility:hidden">
Thanks! <br />
Your message was sent. <br />
<div class="alignright"><a href="#!" onClick="javascript:hideThanksDiv()">Discard Message!</a></div>
              </div>

在email.php中:

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

当我点击提交按钮时,我总是被重定向到页面顶部(未重新加载)。为什么呢?

基本上问题是来自php脚本的回显将调用showThanksDiv并滚动到顶部。我该如何防止这种情况?

谢谢,

1 个答案:

答案 0 :(得分:1)

这是因为这个

<a href="#" onClick="document.getElementById('contacts-form').submit();">Send Your Message!</a

将其改为此; 返回false;

<a href="#" onClick="document.getElementById('contacts-form').submit();return false">Send Your Message!</a