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

これに変更します。falseを返します。

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