2017-09-26 15 views
0

jQueryでページを更新しないでフォームを送信する方法を知っています。それは私がここにいるのではない。私はちょうどそれを指摘したい。 onclick()にフォームと非表示のリンクが表示されたらボタンがあります。私が直面している問題は、フォームがページをリフレッシュして隠されているリンクが隠されている初期状態に戻るようになっているときです。ページの更新時に関数が復元されないようにする方法はありますか?

ページの更新時に機能が復元されないようにする方法はありますか?それが私が知りたいことです。しかし、これを行う最善の方法がフォームをリフレッシュさせないようにすることであれば、私はそれを行います。知識のために別の方法でできるかどうかを知りたかっただけです。私はいつも同じ古いjQueryのことをするのではなく、新しい方法を学ぼうとしています。

HTML

<button id="showOwn" type="button" onclick="showHiddenForm();" > 
I'm a returning client</button> 

<div id="hiddenForm" style="display:none;"> 

<form method="POST" action="form.php"> 
<input type="submit" name="validate_customer" value="Confirm Identity"> 
</form> 

<a id="hiddenLink" href='other_page.php>Continue as Roger Rabbit</a> 

</div> 

スクリプト私はちょうど私がそれ知識のために別の方法で行うことができますかどうかを知りたいと思った

function showHiddenForm(){ 
    //show hidden form 
    document.getElementById("hiddenForm").style.display='block'; 
} 
+2

「そこ_Is私はページrefresh_に復元する機能を防ぐことができる方法」あなたは機能を実行したりせず、その後にその値をチェックする必要がありますかどうかを示すクッキーの値を格納しますあなたの機能? – csmckelvey

+0

@csm_dev:純粋にクライアント側の情報をクッキーに保存しないでください。それは常に悪い考えだった、それはちょうどWebストレージまで代替手段がなかった。今はあります。 –

+0

@csm_dev:新しいタイトルで質問を編集しました。 –

答えて

2

利用のlocalStorage:

window.onload =() => { 
if(localStorage.getItem("show")) 
    showHiddenForm(); 
}; 

function showHiddenForm(){ 
localStorage.setItem("show",true); 
//show hidden form 
document.getElementById("hiddenForm").style.display='block'; 
} 
+0

ありがとうございます。非常にきれい。 –

1

ストアローカルストレージ(またはセッションストレージ)内のフラグ(spec | MDN)とページのロードには、行うには、一般的に機能をフックするかどうかを判断するためにそのフラグの存在/不在を使用する(または任意のあなたは違ったやり方で、違ったやり方でやりたがっていますか?)

関連する問題