【问题标题】:Play framework checkbox form binding播放框架复选框表单绑定
【发布时间】:2013-12-29 06:47:28
【问题描述】:

我的 html 模板中定义了以下复选框:

    <div class="answerDiv">
        @if(exam.currentQuestion.get.quesType == "RADIO_BUTTON") {
            <p>
                @for(answer <- exam.currentQuestion.get.answers) {
                    <input type="radio" id="@answer.id" name="answerRadio" value="@answer.id">&nbsp;&nbsp;@answer.text</input><br>
                }
            </p>
        }
        @if(exam.currentQuestion.get.quesType == "CHECK_BOX") {
            <p>
                @for(answer <- exam.currentQuestion.get.answers) {
                    <input type="checkbox" name="answerCheckbox" value="@answer.id">&nbsp;&nbsp;@answer.text</input><br>
                }
            </p>
        }
    </div>

我想要控制器中复选框的值,其中我定义了一个表单:

  val runExamForm = Form(
    tuple(
      "currentQuestionId" -> text,
      "examId" -> text,
      "totalQuestions" -> number,
      "answerRadio" -> optional(number),
      "answerCheckBox" -> optional(list(number))
    )
  )

在我的操作中,我正在获取表单值,但 answerCheckBox 的值始终为 None。为什么是这样?我做错了什么?

【问题讨论】:

    标签: scala checkbox playframework-2.1


    【解决方案1】:

    好的。我让它工作。这是我在视图模板中所做的:

        <div class="answerDiv">
            @if(exam.currentQuestion.get.quesType == "RADIO_BUTTON") {
                <p>
                    @for(answer <- exam.currentQuestion.get.answers) {
                        <input type="radio" name="answerRadio" value="@answer.id">&nbsp;&nbsp;@answer.text</input><br>
                    }
                </p>
            }
            @if(exam.currentQuestion.get.quesType == "CHECK_BOX") {
                <p>
                    @for(answer <- exam.currentQuestion.get.answers) {
                        <input type="checkbox" id="@answer.id" name="answerCheckbox[@answer.id]" value="@answer.id">&nbsp;&nbsp;@answer.text</input><br>
                    }
                </p>
            }
        </div>
    

    注意复选框 html 渲染中的 name 属性。它必须是一个数组,我的控制器中的绑定才能工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      相关资源
      最近更新 更多