6

Mustache テンプレートを使用するサーバー レンダリング フォームがあります。フォームが送信されたときにエラーが発生した場合は、いくつかのエラーとともにフォームを再表示します。送信されたのと同じ値でフィールドを再設定したい。

ただし、選択リストから適切な項目をマークする方法がわかりません。ここに私のデータがあります:

errors = {'required': ['name']}, 
fields = {name: 'Matt', option: 'sales'};

そして、次のようなテンプレートを使用します。

<form method="post" action="submitform" id="submitform">
    <input type="text" id="name" name="name" value="{{fields.name}}">
    <select name="contact" id="contact">
        <option value="support">Support request</option>
        <option value="sales">Sales help</option>
        <option value="press">Press information</option>
    </select>
    <button type="submit" name="submit">Send message</button>
</form>

この例では、select の 2 番目のオプションにselected属性があることを期待しています。この場合、Javascript を使用したくありません。助言がありますか?

Mustache が提供するロジックのないテンプレートのコンセプトは気に入っていますが、実際の詳細についてはまだ頭を悩ませています。

Django テンプレートなど、もう少しロジックのあるツールでは、次のように言うかもしれません。

<option value="sales" {%if fields.option == 'sales'}selected{% endif %}>

ヒントをありがとう。

4

2 に答える 2