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 %}>
ヒントをありがとう。