2

私はhtmlを初めて使用しますが、このコードブロックを機能させる必要があります:

    <form method="get" action="http://cat.opal-libraries.org/search~S9/X">
     <p>
     <select name="searchtype">
    <option value="X" selected="selected">Keyword</option>
    <option value="t">Title</option>
    <option value="a">Author</option>
    <option value="d">Subject</option>
    </select>
    <input class="textfield" name=" " style="width: 200px;" type="text">
    <input class="button" value="Search" type="submit">

タイトルを選択してタイトルを入力し、検索を押して、このページに入力したように機能 させたいhttp://cat.opal-libraries.org/search/tよろしくお願いしますこれを行う上で任意の提案!

4

3 に答える 3

3

回答がなくて申し訳ありませんが、前述したように、質問への回答は長すぎてスタック オーバーフローに適していません。

このような PHP チュートリアルに従って手を汚すことをお勧めします。


ちなみに、あなたの HTML は無効です。1 行目と 2 行目でタグを開き<form><p>それらを閉じませんでした。意味的には、これらのフォーム要素を段落に配置するのは少し奇妙です。それは実際には段落が行うことではありません。

于 2013-01-23T00:07:36.407 に答える
2

質問にアプローチする方法はたくさんあるので、質問は非常に広いです。タイトルで検索する場合に機能するコードの簡単な編集を次に示します。

<form method="get" action="http://cat.opal-libraries.org/search/t">   
  <input class="textfield" name="SEARCH" style="width: 200px;" type="text">
  <input class="button" value="Search" type="submit">
</form>

私がしたことは、あなたの URL を修正し、入力に名前を付けることでした。おそらく、どのように機能するかを読みたいと思うでしょう<form method="get"。そうすれば、さまざまなフィールドで検索する方法を理解できるでしょう。

完全なコードを含めるように更新されました。これらの項目を読んで、それがどのように/なぜ機能するかを調べるとよいでしょう. 基本的に、彼らが新しい検索タイプを選択するとき、フォームのアクションを変更する必要があります (それはあなたが見逃していた部分です)。また、「searchscope」フィールドを追加し、彼らのウェブサイトがそれを行っていたので、28 に設定しました。それが何をするのかわかりません。

これは、jQuery を参照していることを前提としています。関連ドキュメントjQuery attr()およびjQuery change()

<form id="searchForm" method="get" action="http://cat.opal-libraries.org/search/X">  
    <select id="searchType">
    <option value="X" selected="selected">Keyword</option>
    <option value="t">Title</option>
    <option value="a">Author</option>
    <option value="d">Subject</option>
    </select>
  <input class="textfield" name="SEARCH" style="width: 200px;" type="text">
  <input name="searchscope" type="hidden" value="28">
  <input class="button" value="Search" type="submit">
</form>

<script>
    $("#searchType").change(function () {
        var newPath ="http://cat.opal-libraries.org/search/" + $("#searchType").val();
        $("#searchForm").attr("action", newPath);
    });
</script>
于 2013-01-23T00:09:35.190 に答える
0

あなたが参照している検索エンジンは、「検索タイプ」ごとに個別のエンドポイントを使用しているようです。これにより、実際には Javascript とフォームへのいくつかの変更を使用して、これを比較的簡単に行うことができます。

  1. nameの属性を<select>代わりに変更して、id実際には検索エンジンに送信されないようにします。
  2. nameテキストフィールドの属性を「SEARCH」に変更し、検索文字列として送信・認識されるようにします
  3. フォームのアクション属性を適切に変更する on-change リスナーを sel に追加します。JQuery を使用している場合は、次のようになります。

    var base = "http://cat.opal-libraries.org/search/";
    $("#searchtype").change(function() {
      $(that).closest("form").attr("action", base + $(that).val());
    });
    
于 2013-01-23T00:43:21.170 に答える