2017-05-16 14 views
1

私はgetメソッドとactionを持つフォームを持っています。フォーム入力からアクションパラメータを送信すると、?id = 1のような標準パラメータになります。このパラメータをパス変数として渡すにはどうすればよいですか?パス変数を持つThymeleafフォーム

<form method="get" th:action="@{/mycontroller/}"> 
     <input type="text" id="id" name="id"/> 
     <input type="submit"/> 
    </form> 
+0

JavaScriptを使用することができますか?それともhtml-ishでなければならないのですか? – Dachstein

+0

はい、おそらくそれはthymeleafで解決することが可能です。 –

+1

クライアントに送信される静的なHTMLページをレンダリングするので、Thymeleafの方法を見ることはできません。 'th:action =" @ {/ mycontroller /} "はThymeleafによってサーバー側にレンダリングされます。アクションURLとクライアント側のThymeleafの入力名= "id"との間にマジックデータバインディングはありません。 – Dachstein

答えて

2

あなたHTML:

<form id="myForm" method="get" th:action="@{/mycontroller/}"> 
    <input type="text" id="id" name="id"/> 
    <input type="submit"/> 
</form> 

そしてjQueryを使ってあなたはこのような何か行うことができます:

var $form = $('#myForm'); 
var $idField = $("#id"); 

$form.submit(function(event) { 

    // respects th:action="@{/mycontroller/}" and appends id 
    $form.attr('action', $form.attr('action') + $idField.val()); 

    // otherwise ?id=xx 
    $idField.prop("disabled", true); 

    // submits the form in the normal way ! 
    return; 
}); 
関連する問題