2016-12-26 8 views
0

私はビューを作成するためにPlay Framework内でスカラーテンプレートを使用しています。Play FrameworkのHTMLテキスト領域から値を取得するにはどうすればよいですか?

ユーザーはテキスト領域にテキストを入力する必要があります。このテキストを使用してアプリケーション内の別のビューに送信したいと考えています。

<div class="ui form"> 
<div class="field"> 
    <label>Please use the text box below</label> 
    <textarea>//this is the text that i need to grab</textarea> 
</div> 
    @pet_order(petId, //this is where i send in the text) 
</div> 

誰も私にこれを実現する方法についていくつかのアドバイスを与えることはできますか?

答えて

1

テキスト領域は、フォームにラップされ、name属性を持つ必要があります。

HTMLは次のようになります。

<form action="/some_path" method="post"> 
    <textarea name="attribute_name"></textarea> 
    <input type="submit" value="Отправить"> 
    </form> 

あなたはビューでフォームを作成するために、プレイFrameworkのヘルパーを使用することができます。以下のような何か:

@helper.form(action = routes.YourController.your_action) { 
    @helper.textarea(myForm("attribute_name")) 
} 

フォームを送信するとhere

続きを読む、テキスト領域からテキストは、特定のController#actionにサーバーに送信されます。アクションのURLは、フォームのaction属性で指定します。入力されたテキストを保持するパラメータの名前は、テキストエリアのname属性で指定されます。

次に、actionでは、リクエスト属性からその名前でテキストを抽出し、ビューをレンダリングしてそのテキストをパラメータとして渡すか、別のテキストにリダイレクトするか(Controller#action)、そのテキストをパラメータとして渡す必要があります。新しいリクエスト

Play FrameworkのFormを使用して、リクエストパラメータを抽出できます。前のリンクを参照してください。

+0

説明ありがとうございます - 私は実際にこれを最後までやってしまったので正解です。私が把握しなければならなかった小さなもの - 私はフォームで送信したい単一のint変数を持っていました。私がこれについて行ったのは、フォームに新しいフィールドを追加し、そのフィールドに値を追加して(値= "私の値")、それを隠すことによってフィールドを "不可視"にします。これにより、私はフォームで変数を送信することができました –

関連する問題