2012-01-08 22 views
1

emailsuccessと表示されているdivがあります。ユーザーが連絡先フォームに記入して提出すると、http://www.mysiteurl.com?email=successにリダイレクトされます。 URLにemail = successが含まれている場合にのみ表示されるdivがあります。 (基本的に「あなたはメールが送信されました」というメッセージが表示されます)メッセージを約5秒間表示してから、フェードアウトしてURLからemail = success変数を削除しますユーザーがページを再読み込みしたり友だちと共有したりすると、メールが送信されたという通知は受けられません。URL変数をしばらくお待ちください。

.delay()関数を使用している可能性があります。整数を5000に設定しましたが、コンテンツをフェードアウトさせて変数をURLから削除する方法がわかりません。

はここで、今までに私のコードです:あなたは歴史のAPIをサポートするブラウザに自分自身を制限しない限り、あなたはURLの一部が含まれていないURLにブラウザをリダイレクトする必要があります

$(document).ready(function(){ 
var url = document.location.href; 

if (url.indexOf('/Contact-us-a/7.htm?email=success') >= 0) { 
$('#emailsuccess').show(); 
} else { 
$('#emailsuccess').hide(); 
}; 
}); 
+0

'setTimeout()'と、このhttp://stackoverflow.com/questions/3338642/updating-address-bar-with-new-url-without-hash-or-reloading-the-pageが役立ちます。 –

答えて

2

(ページリロードを引き起こす)。

Symfony Framework for PHPは、テンプレート内のフラッシュ変数(Flashとは関係ありません)を使用してこれを解決します - 次のリクエストでは利用可能ですが、次のリクエストでは削除される変数。そうすれば、その状態をURL経由で渡す必要はなく、同じURLをリフレッシュしてもそのメッセージは再表示されません。

関連する問題