1

サイトに検索フォームがあり、フォーム内のテキストを次のようなURLに渡します:mysite.com/search.php?q=apples(検索語がapplesの場合)。
私は人々が彼らの検索をブックマークすることができる方法を理解します。

私が考えた解決策の1つは、search.phpで検索ワードをキャッチしてから、新しく作成されたURLにリロードすることです。しかし、そのようにリロードするのはあまりエレガントではありません。では、どうすればそれを行うことができますか?つまり、通常はどのように行われるのでしょうか?jQueryを使用する必要がありますか?

明確化:phpのURLから変数を取得する方法を知っています。私が必要としているのは、ユーザーがSUBMITを押したときに開かれるURLを制御することであり、URLにはユーザーの検索語が含まれている必要があります。GoogleやDuckDuckGoと同じように、「apples」を入力すると、URLは...?q=applesになります。しかし-どうやって?!(もちろん、search.phpでそれを取得しますが、その方法は知っています。)これが私が今持っているものです。

<div id="topnav">
<form action="search.php" method="post">
<input name="searchword" type="text">
<input type="submit">
</form>

どうもありがとう。

4

5 に答える 5

4

説明を読んだら。必要なのは、たとえば、search.phpに送信する検索フォームです。

<form action="search.php" method="get">
<input type="text" value="search word" name="q" />
<input type="submit" value="submit" />
</form>

これにより、qという名前の入力に入力された値がsearch.phpスクリプトに渡されます。

于 2012-06-01T10:13:02.557 に答える
1

名前が「q」で値が「apples」のテキストフィールドを含むHTMLフォームを投稿すると、必要なURLがブラウザによって自動的に作成されます。そのためにJQueryは絶対に必要ありません。

于 2012-06-01T10:11:48.580 に答える
1

POST-Redirect-GETパターンを使用するのはどうですか?[http://en.wikipedia.org/wiki/Post/Redirect/Get]またhttp://blog.andreloker.de/post/2008/06/Post-Redirect-Get.aspx

これにより、ブラウザにURLを保持できるようになります。

yoursite.com/search.php?q=apples

または、javascriptを使用して、ブラウザでURLのlocation.hashを設定し、ポストバック後にクエリ情報を設定することもできます。これが実際にGoogleが行っていることだと思います。

例えば、

yoursite.com/search.php#apples
于 2012-06-01T10:21:26.843 に答える
0

したがって、フォームアクションはsearch.phpになり、フィールドはqと呼ばれ、メソッドはGet?になります。

あなたが何を達成しようとしているのかを私が理解していれば、htmlフォームからこれらすべてを処理できるはずです。

于 2012-06-01T10:12:13.757 に答える
0

あなたがフォームを持っているなら、それからフォームメソドを宣言しているに違いありませんPOST/GET

あなたの中でsearch.phpあなたは単にこれ$_POST['name of the input field']をして単語文字列を取得することができます、

そして、URLで変数を渡したい場合は、linkスルーを行う必要があります<a href="you URL">Link </a>

于 2012-06-01T10:14:12.457 に答える