8

次のように GSP ページにチェックボックスがあります (これは、ドメイン オブジェクトのスキャフォールディングされた「作成」コードから直接盗まれました)...

<tr class="prop">
<td valign="top" class="name">
  <label for="isSelling"><g:message code="person.isSelling.label" default="Is Selling" /></label>
</td>
<td valign="top" class="value ${hasErrors(bean: personInstance, field: 'isSelling', 'errors')}">
    <g:checkBox name="isSelling" value="${personInstance?.isSelling}" />
</td>
</tr>

結果のフォームの要素を見ると、実際のチェックボックスの横に非表示のチェックボックスがあることを除いて、これはうまく機能します...

<tr class="prop">
<td valign="top" class="name">
  <label for="isSelling">Is Selling</label>
</td>
<td valign="top" class="value ">
    <input type="hidden" name="_isSelling" />
    <input type="checkbox" name="isSelling" id="isSelling"  />
</td>
</tr>

私の質問は次のとおりです。

  1. なぜそこにあるのですか?
  2. Grailsはそれで何をしますか?
  3. Javascript でフォームの値を見ている場合、どの入力値を取得すればよいですか?

私のページでチェックボックスのオンとオフが設定されたときに何が起こるかを調べるだけで、非表示のものが無視されているように見えるので、_isSelling と isSelling を調べる送信アクションが発生したときに、いくつかの狡猾な処理が行われていると想像しています。魔法の目的。Grails が何をしているかについての洞察を持っている人はいますか?

ありがとう

4

1 に答える 1

12

それは春の事です。そのチェックボックスを追加して、チェックされていないボックスが責任を負うようにします。一部のブラウザーは、チェックされていないボックスに関する情報をプッシュしないため、バインディング エラーを防ぐために非表示のボックスが追加されます。

于 2010-01-20T15:35:11.837 に答える