如何自动填写表单,但仅在用户请求时填写表单。 也就是说,生成表单时不会填充字段。
例子:
<?= $form->field($model, 'city')->textInput() ?>
访问表单时,该字段为空。我想要的是有一个按钮,当用户点击时,该字段会自动填充“用户”表中“城市”的值。
形式:
城市:__________ |得到我的城市|
用户点击按钮“get my city”后:
城市:_London___ |得到我的城市|
答案 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'); ?>