【问题标题】:scale in script form play以脚本形式播放
【发布时间】:2015-08-09 12:27:02
【问题描述】:

我有这样的代码,用于创建/编辑联系人表单。如果我正在编辑表单,我需要从模型中获取一些值,如果我正在创建新表单,则什么都不做。

@(fieldForm: Form[MyModel])
@import helper._

@main("Create new") {
   @form(routes.Actions.createFieldHolder()) {

    <html>
        <head>
           <script>
              function funcOnLoadSubForm(){

                    @*
                    if(@fieldForm.get==null) {
                    ...
                    }
                    *@
                OR
                    @*
                    if(@fieldForm.get.equals(null)) {
                    ...
                    }
                    *@
                OR
                    @*
                    if(@fieldForm.get.eq(null)) {
                    ...
                    }
                    *@
                }
           </script>
    </head>
    <body onload="funcOnLoadSubForm()">

    </body
}

我总是得到一个错误:IllegalStateException: No value.

【问题讨论】:

    标签: html scala playframework


    【解决方案1】:

    API Documentation 声明getreturn the concrete value, if the submission was a success.。由于您正在创建一个新模型,因此您尚未提交任何内容,这意味着数据为空,get 将引发异常。

    您可以通过在 fieldForm.value 上使用 foreach 来解决此问题。示例:

     <script>
        function funcOnLoadSubForm(){
            @fieldForm.value.foreach { data =>
                // Do something here if fieldForm was submitted
            }
        }
    </script>
    

    【讨论】:

    • 我不明白,为什么它更新进入这个代码块。我填写:MyModel row = MyModel.finder.byId(id); Form&lt;MyModel&gt; rowForm = Form.form(MyModel.class).fill(row);
    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-12-31
    • 2012-08-26
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多