1

私はこのようなフォームを持っています

<form action="http://example.com/search" method="get">
    <input type="text" name="q">
    <input type="submit">
</form>

パラメータ q に何らかのテキスト (「AAAAA」など) を入力してこのフォームを送信すると、URL はhttp://example.com/search?q=AAAAAになります。

しかし、送信する前に、パラメーター q に他のテキストと一緒にテキストを追加したいと思います。たとえば、ユーザーが「AAAAA」と入力すると、パラメータは「AAAAAA BBBBB CCCCC」になります。したがって、URL はhttp://example.com/search?q=AAAA+BBBBB+CCCCCになります。

4

2 に答える 2

3

送信する前に、JavaScript を使用して値を変更してください。ボタンを送信すると発生する onsubmit イベントをフォームに追加します。このような...

<form action="http://example.com/search" method="get" onsubmit="return addText();">
    <input type="text" name="q" id="q">
    <input type="submit">
</form>

<script>
function addText(){
    document.getElementById("q").value += " BBBB CCCC"; // Whatever your value is
    return true;
}
</script>
于 2013-07-27T16:24:20.417 に答える
0

jsFiddle http://jsfiddle.net/ilya_kolodnik/N9gWm/で私の例を見てください。

var text_to_append = "test";
$('form').submit(function(obj) {
    obj.preventDefault();
    alert($("input[name='q']").val());
    $("input[name='q']").val($("input[name='q']").val() + text_to_append);
    this.submit();
});

まず、フォームの「送信」アクションを処理します。フォームの送信を防ぐには、 preventDefault(); を使用します。クエリを変更してフォームを送信するよりも。

于 2013-07-27T16:43:20.107 に答える