0

要素のaction属性を変更して、フィールドに入力されたテキストをすべて含めたいと思います。これが私がやろうとしていることの例ですが、できません:

<form action="/search/?searchoption=Audio&s=Blocks--[text input here]" method="post" name="audio-search-form">
    <input name="audiosearch" type="text" size="30" id="audiosearch">
    <input type="submit" name="audio-search-submit" value="Search Audio">
</form>

ありがとう

4

4 に答える 4

0

使用は、を使用してフォームアクションを変更できます

 // Get input value
 input = $("#textboxId").val()

 // Change form action
 $("#formid").attr("action", "/requiredString/" + input);
于 2012-06-14T13:26:23.447 に答える
0
var $form = $('form');
$form.attr('action', $form.find('input[type="text"]').val());

またはこれはあなたが極端に行きたいです...:

$('form').attr('action', function(index, old) {
    return old + $(this).find('#audiosearch').val();
});​
于 2012-06-14T13:27:17.550 に答える
0

サンプルフォームがすべて揃っている場合は、フォームメソッドをGETリクエストにしてみませんか?

<form action="/search/" method="get" name="audio-search-form">
    <input name="searchoption" type="hidden" value="Audio">
    <input name="s" type="text" size="30" id="audiosearch">
    <input type="submit" name="audio-search-submit" value="Search Audio">
</form>

編集: argh!申し訳ありませんが、Blocks--あなたが追加したい部分を見落としました。これはあなたに役立つかもしれないので、私はまだこれを参照のためにここに残しておきます。(Blocks--常に一定である場合は、別の非表示フィールドとして追加するか、完全に破棄してバックエンドに追加することもできます。)

編集2:明確にするために、次の結果の検索URLに何か問題がありますか?

/search/?searchoption=Audio&type=Block--&s=whatever+the+search+input

これは、たとえば次の方法で実現できます。

<form action="/search/" method="get" name="audio-search-form">
    <input name="searchoption" type="hidden" value="Audio">
    <input name="type" type="hidden" value="Block--">
    <input name="s" type="text" size="30" id="audiosearch">
    <input type="submit" name="audio-search-submit" value="Search Audio">
</form>

于 2012-06-14T13:28:15.613 に答える
0
var initial = $("form").attr("action");
$("input[name=audiosearch]").bind("keyup",function(){
    $("form").attr("action",initial+$(this).val());
})​
于 2012-06-14T13:28:31.260 に答える