0

将表单提交到 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 并滚动到顶部。我怎样才能防止这种情况?

谢谢,

4

1 回答 1

1

发生这种情况是因为

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

改成这个;返回假;

<a href="#" onClick="document.getElementById('contacts-form').submit();return false">Send Your Message!</a
于 2013-02-09T20:36:48.987 回答