wbraganca / 嵌套表单 yii2-dynamicform 未捕获的语法错误:未定义无效或意外标记和动态表单

问题描述

我在嵌套表单 yii2-dynamicform 中遇到了一些问题 - 未捕获的语法错误:无效或意外的标记和动态表单未定义。 我正在使用 wbraganca/yii2-dynamicform 扩展。 我想使用动态表单小部件(wbraganca)。我使用 github 的教程进行了尝试。Nested Forms 我的查看页面代码

<?PHP DynamicFormWidget::begin([
'widgetContainer' => 'dynamicform_wrapper',// required: only alphanumeric characters plus "_" [A-Za-z0-9_]
'widgetBody' => '.container-items',// required: css class selector
'widgetItem' => '.item',// required: css class
'limit' => 10,// the maximum times,an element can be cloned (default 999)
'min' => 1,// 0 or 1 (default 1)
'insertButton' => '.add-item',// css class
'deleteButton' => '.remove-item',// css class
'model' => $modelscarouselActions[0],'formId' => 'create-update-form-carousel','formFields' => [
    'media_source','media_url','browse_file','image_ratio','title','field_merge','message_text',],]); ?><div class="panel-body container-items">
<!-- widgetContainer -->
<?PHP foreach ($modelscarouselActions as $j => $carouselAction): ?>
<div class="item panel panel-default">
    <!-- widgetBody -->
    <div class="panel-heading">
        <span class="panel-title-address">Slide : <?= ($j + 1) ?></span>
        <style>#buttonRemove-0-0,#buttonRemove00,#buttonRemove0{ display:none;}</style>
        <button type="button" class="pull-right remove-item btn-danger btn-xs" id="buttonRemove<?= ($j) ?>">Remove button</button>
        <div class="clearfix"></div>
    </div>
    <div class="panel-body">
        <?PHP
            //echo $carouselAction->isNewRecord;die;
                // necessary for update action.
                if (!$carouselAction->isNewRecord) {
                    echo Html::activeHiddenInput($carouselAction,"[{$j}]id");
                }
            ?>
        <fieldset class="scheduler-border1">
            <legend class="scheduler-border1">Image Content</legend>
            <div class="row">
                <div class="col-md-12"> 
                    <?PHP echo $form->field($carouselAction,"[{$j}]media_source",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->dropDownList(
                        ['1' => 'Upload','2' => 'URL'],['prompt'=>'Select...','onchange' => "showbrowseAction($(this))",]
                        );  ?>
                    <?= $form->field($carouselAction,"[{$j}]media_url",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->textInput(['class'=>'form-control checkCharLimit']) ?>
                    <?= $form->field($carouselAction,"[{$j}]browse_file",['template'=>'<span class="col-sm-3 control-label form-control-label-error" style="display: inline-block;max-width: 100%;margin-bottom: 5px;font-weight: 700;">Upload </span><div class="input-group col-sm-7">
                        <label class="input-group-btn">
                            <span class="btn btn-primary" style="margin-left: 15px;">
                                browse&hellip; 
                        {input}</span>
                        </label>
                        <input type="text" class="form-control" id="disabledTextFileUpload" readonly style="width:95%">
                        </div><center><div class="form-control-Feedback-error" style="position: absolute;
                        left: 24%;"></div><br><small><span style="position: absolute;left: 24%;">NOTE : Size should be less than 10mb,supports for JPG,JPEG or PNG only </span></small></center><br>'])->fileInput(['style' => 'display: none !important;','class'=>'showbrowseFileAction'])  ?>
                    <?= $form->field($carouselAction,"[{$j}]image_background",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->textInput(['maxlength' => 10,'class' => 'form-control colorpickerselect colorpicker-element','autocomplete' => 'off']) ?>
                </div>
            </div>
        </fieldset>
        <!----msg--->
        <fieldset class="scheduler-border1">
            <legend class="scheduler-border1">Message Content</legend>
            <div class="row">
                <div class="col-md-12">
                    <?= $form->field($carouselAction,"[{$j}]title",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->textInput(['autocomplete' => 'off','class'=>'form-control checkCharLimit']) ?>
                    <div class="row">
                        <div class="col-sm-10">
                            <?= $form->field($carouselAction,"[{$j}]field_merge",['template'=>'{label}<div class="col-sm-7" style="margin-left: 4.5%;">{input}{error} </div>'])->dropDownList(
                                $PersonalizationFields,['prompt'=>'Select personalization','class'=>'form-control select2']) ?>
                        </div>
                        <div class="btn-group">
                            <button type="button" id="mergebtn" class="btn btn-primary btn-flat getcountvalue" style="margin-left: -33%;" onclick="callmeragevalueCasousel(this);" value="0">Merge
                            </button>
                        </div>
                    </div>
                    <?= $form->field($carouselAction,"[{$j}]message_text",['template'=>'{label}<div class="col-sm-7">{input}{error}
                        <span class="chars-remaining2-container">
                        <span class="chars-remaining2  badge badge-danger"></span> characters remaining</span><br />
                        <span class="showdangermsg" style="color:red"> </span></div>'])->textarea(['rows' => 6,'maxlength'=>160,'class'=>'form-control showtextAction']) ?>
                </div>
            </div>
        </fieldset>
    </div>
    <!--2nd-->
    <?PHP DynamicFormWidget::begin([
        'widgetContainer' => 'dynamicform_inner',// required: only alphanumeric characters plus "_" [A-Za-z0-9_]
        'widgetBody' => '.container-loads',// required: css class selector
        'widgetItem' => '.load-item',// required: css class
        'limit' => 3,an element can be cloned (default 999)
        'min' => 1,// 0 or 1 (default 1)
        'insertButton' => '.add-load',// css class
        'deleteButton' => '.del-load',// css class
        'model' => $modelsActions[$j][0],'formFields' => [     
            'type','label','data','url','text','mode','initial','max',]); ?> 
    <div class="panel-body container-loads">
        <!-- widgetContainer -->
        <?PHP foreach ($modelsActions[$j] as $i => $modelAction): ?>
        <div class="load-item panel panel-default">
            <!-- widgetBody -->
            <div class="panel-heading">
                <span class="panel-title-address">Slide : <?= ($i + 1) ?></span>
                <style>#buttonRemove-0-0,#buttonRemove0{ display:none;}</style>
                <button type="button" class="pull-right del-load btn-danger btn-xs" id="buttonRemove<?= ($i) ?>">Remove button</button>
                <div class="clearfix"></div>
            </div>
            <div class="panel-body">
                <?PHP
                    // necessary for update action.
                    if (!$modelAction->isNewRecord) {
                        echo Html::activeHiddenInput($modelAction,"[{$j}][{$i}]id");
                    }
                    ?>
                <?= $form->field($modelAction,"[{$j}][{$i}]type",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->dropDownList(
                    ['postback' => 'Postback action','message' => 'Message action','uri' => 'URI action','datetimepicker' => 'Datetime picker action'],'onchange' => "showButtonAction($(this))",'class'=>'form-control getTypeValue']
                    ); ?>              
                <?= $form->field($modelAction,"[{$j}][{$i}]label",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->textinput() ?>
                <?= $form->field($modelAction,"[{$j}][{$i}]data","[{$j}][{$i}]uri","[{$j}][{$i}]text",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->textarea(['row'=>6]) ?>
                <?= $form->field($modelAction,"[{$j}][{$i}]mode",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->dropDownList(
                    ['date' => 'Date','time' => 'time','datetime' => 'Date time'],'onchange' => "showdatepickerAction($(this))"]
                    ); ?>
                <?= $form->field($modelAction,"[{$j}][{$i}]initial",['template'=>'{label}<div class="col-sm-7">{input}{error} </div>'])->textInput(['maxlength' => true,'class'=>'form-control datepicker','autocomplete' => 'off'])->label('Initial date/time'); ?>
                <?= $form->field($modelAction,"[{$j}][{$i}]max",'autocomplete' => 'off'])->label('min and max date/time'); ?>
            </div>
        </div>
        <?PHP endforeach; ?>
    </div>
    <button type="button" class="pull-left add-load btn-success btn-xs"><i class="fa fa-plus"></i> Add button</button>
    <div class="clearfix"></div>
    <script> $('.field-linecarouselactionbutton-0-data,.field-linecarouselactionbutton-0-uri,.field-linecarouselactionbutton-0-text,.field-linecarouselactionbutton-0-mode,.field-linecarouselactionbutton-0-max,.field-linecarouselactionbutton-0-initial').hide(); </script>
    <?PHP DynamicFormWidget::end(); ?>
    <!-----2nd form end---->
</div>
<?PHP endforeach; ?></div><button type="button" class="pull-left add-item btn-success btn-xs"><i class="fa fa-plus"></i>Add Slide</button><div class="clearfix"></div>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...