2017-01-10 16 views
0

私は検索フォームを持っています。ここには送信ボタンのonclickの下にフォーム値が表示されます。これはコードです:.innerHTMLを使用してリロードした後、フォームIDの出力値をページに保存します。

<input type="text" name="searchfield" id="searchfield" value="" /> 
 
<input type="submit" name="submit" id="submitSearch" value="Submit" onclick="document.getElementById('output').innerHTML = document.getElementById('searchfield').value" /> 
 
<div id="output"></div>

それが正常に動作しますが、一度提出され(ページのリロードではなく、別のページに行く)、出力div要素の値が消えます。

ページリロード後も値を残す方法はありますか?

私はこれを達成するための最も簡単な方法を探しています。あなたは検索フォームのGET値を構築しようとしているので

+2

いくつかの方法。セッションに保存したり、リンクに追加したり、jquery/ajaxでフォームを送信したりすることができます。 – Tosfera

+0

それらを保持する1つの方法は、ページのリロードとしてそれらの値を渡し、それらをURLから取り出したり、phpを使ってページに戻したりすることです.... 'AJAX'を使ってデータを投稿しない限り、' ajax'はページをリフレッシュする必要がないこと、またはCookie /ローカルストレージを使用できることを意味するデータがポストされている間、バックグラウンドでクライアントをページ上に保ちます。 – NewToJS

+0

はい、取得値(Googleのような検索フィールドには、https://www.google.com/search?q=value)、セッション、Ajax、さらにはCookie/Localstoregeを使用することができます。 – paolobasso

答えて

0

は、get値、セッション、クッキー、のlocalStorage、アヤックス、...

を使用して、たとえばseveralsの方法でこれを行うことができ、最も適切な(またはAJAXようですあまりにも)。

コードの例:あなたはリロードをしたくない場合は

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> 
    <input type="text" name="searchfield" id="searchfield" value="" /> 
    <input type="submit" id="submitSearch" value="Submit"/> 
</form> 

<div id="output"> 

<?php 

if(isset($_GET['searchfield'])) { 
    echo $_GET["searchfield"]; 
} 

?> 

</div> 

は、AJAXを確認してください。

関連する問題