将表单提交到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并滚动到顶部。我该如何防止这种情况?
谢谢,
答案 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