2016-07-27 16 views
0

私はできるだけこのように説明しようとします。フォームの送信後にページにリダイレクトし、モーダルを表示

は、私が上email.phpに対してアクションを提出フォームがあります:フォームが正常にemail.phpで処理され

<form data-toggle="validator" role="form" method="POST" action="email.php"> 
         <div class="row"> 
          <!-- Full Name --> 
          <div class="form-group col-lg-4"> 
           <label for="inputName" class="control-label">Name</label> 
           <input type="text" class="form-control" name="inputName" id="inputName" required> 
          </div> 
          <!-- email --> 
          <div class="form-group col-lg-4"> 
           <label for="inputEmail" class="control-label">Email</label> 
           <input type="email" class="form-control" name="inputEmail" id="inputEmail" data-error="Incorrect Email Format" required> 

          </div> 
          <!-- phone number --> 
          <div class="form-group col-lg-4"> 
           <label for="inputTel" class="control-label">Phone Number</label> 
           <input type="text" pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}" name="inputTel" id="inputTel" data-minlength="10" maxlength="15" class="form-control" placeholder="123-456-7890" data-error="(123)-456-7890 | 1234567890 | 123-456-7890"> 

          </div> 
          <!-- message --> 
          <div class="form-group col-lg-12"> 
           <label for="content" class="control-label">Message</label> 
           <textarea name="content" id="content" class="form-control" rows="6" data-minlength="5" data-error="Message Must be longer"></textarea> 

          </div> 
          <!-- button --> 
          <div class="form-group col-lg-12"> 
           <button type="submit" class="btn btn-default">Submit</button> 
          </div> 
         </div> 
        </form> 

した後、私はそれはフォームが配置されているページに戻りたいのと

 echo "<script> 

    $(window).load(function(){ 
     $('#myModal').modal('show'); 
    }); 
    window.location.href="Websitename"; 
</script>"; 

これは動作しません:私は現在、私が(検証後)email.phpに持って

を作成したモーダル「ありがとう」を示しています。何が起こるかは、ページがリダイレクトされるだけですが、モーダルが表示されません。

誰でも私に助けを提供できますか?

+0

クリックしている間に 'Websitename'にリダイレクトされるボタンでモーダルを表示してみませんか?または、window.location.href = "Websitename"を実行するようにタイムアウトを設定してください。 – TTCC

答えて

0

私はこの問題は、ブラウザがこのラインを見ると、彼女はすぐに自動的に作られた新しい要求を意味し、ブラウザを探します

 window.location.href="Websitename"; 

であると思います。 私に説明しましょう: あなたのフォームはemail.phpにリクエストを送信します-----> "ウェブサイト名"にjavascript - > javascriptリクエストとしてレスポンスを送信します。 この問題を解決するには、timeout関数の中にwindow.location.hrefを入れ、window.loadの後にタイムアウトを発生させる必要があります。 ご確認ください:

echo "<script> 
      function deferredFunction(){ 
window.location.href="Websitename"; 
    } 
     $(window).load(function(){ 
      $('#myModal').modal('show'); 
      setTimeout(deferredFunction,5000); 
     }); 
    </script>"; 

希望の方はどうぞ!

+0

35秒遅く:D –

+0

ありがとう! 残念ながら、これは私の問題を解決しませんでした。私はまだリダイレクトやモーダルが表示されていないemail.phpスレッドにぶら下がっています。 email.phpにはブートストラップリンクが含まれていなければなりませんか? –

+0

(http://stackoverflow.com/questions/4584373/difference-between-window-load-and-document-ready-functions)のコメントを確認してください。 $(window).loadを$(document).readyに変更してください。 –

関連する問題