Yii2:仅在触发时自动填写表格

时间:2017-02-28 19:49:34

标签: yii2

如何自动填写表单,但仅在用户请求时填写表单。 也就是说,生成表单时不会填充字段。

例子:

<?= $form->field($model, 'city')->textInput() ?>

访问表单时,该字段为空。我想要的是有一个按钮,当用户点击时,该字段会自动填充“用户”表中“城市”的值。

形式:

城市:__________ |得到我的城市|

用户点击按钮“get my city”后:

城市:_London___ |得到我的城市|

1 个答案:

答案 0 :(得分:1)

最后不需要ajax

<div class="row">
    <div class="col-sm-12">
        <?= Html::activeLabel($model, 'city') ?>
    </div>
    <div class="col-xs-9">
        <?= $form->field($model, 'city')->textInput()->label(false) ?>
    </div>
    <div class="col-xs-3">
        <?= \yii\helpers\Html::button('get my city', ['id' => 'get-user-city-btn']) ?>
    </div>
</div>

<?php $this->registerJs("
    $('#get-user-city-btn').on('click', function(){
        $('#id-of-city-input-goes-here').val('"
            . Yii::$app->user->identity->city
        . "');
    });
", $this::POS_END, 'get-user-city-script'); ?>