2016-04-21 5 views
0

私は複数のフォームを持つページを持っていますが、どのリンクがアクティブであるかに基づいて非表示になっています。これらのフォームの1つがredactorを使用していますので、送信時にredactorフォームを開いてユーザーをこのページに戻したいと思います。デフォルトでは、送信時にページがリフレッシュされ、そのページのデフォルトフォームが表示されます。私はドキュメントでこれについて何も見つかりませんでした。誰かがこれを達成する方法を知っていれば私に知らせてください。ありがとうRedactor - サブミット時にカスタムURLにアクセスしました

答えて

0

これを解決するには、window.location.hashを使用する必要があります。これを使用すると、リンクをクリックしてフォームにアクセスすると、ハッシュ変数をURLに送信できます。

次のようにurlHash作品:

var UrlHashVal = window.location.hash.substr(1); //get the hash value and store as a var 
$('form').hide(); //hide all forms by default 
$('form#' + UrlHashVal).show(); //show the form whose id matches the hash value 

これがないことhttp://ucanstayatthe.ym.ca#myFormのように、誰かへのリンクを送信することができますし、それがディスプレイ上form#myFormでそのページを開きますです。

これで、このurlHashをページ内でも使用できるようにするだけです。ページ上では、リンクに基づいてフォームを表示/非表示します。私たちがする必要があるのは、リンクからURLにformIDを書き込むことだけです。これを行うには、単純にfromIDをあなたのhrefに追加します。 "#myForm"。このリンクをクリックすると、windowURLの最後に#myformが表示されます。

Redactor submitでページがリフレッシュされると、書き込み済みのhashValueを含むURLがリロードされるので、これですべての問題が解決されます。代わりにhttp://ucanstayatthe.ym.caをリロードするのではなく、http://ucanstayatthe.ym.ca#myFormを読み込み直してから正しいものを表示します。

ビンゴ