Php 是的。表单获取输入Id
为了在js中使用它,我正在尝试设置一个字段的ID。我阅读了Yi2文档,发现ActiveField有一个方法“getInputId”,但我该如何调用它呢Php 是的。表单获取输入Id,php,yii2,active-form,Php,Yii2,Active Form,为了在js中使用它,我正在尝试设置一个字段的ID。我阅读了Yi2文档,发现ActiveField有一个方法“getInputId”,但我该如何调用它呢 <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> <?php $form->end(); ?> 我可
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
<?php $form->end(); ?>
我可以将$form->field中的结果保存在一个var中,但它是一个字符串,所以不能这样使用它
我一直在检查ActiveForm代码,我发现它有两种方法:beginField和endField,也许有什么关系?任何想法都将不胜感激。我找到了一个很好的解决方案。Html帮助程序中有一个方法“getInputId”。 我原来的问题尚未解决。如何使用activeField中的“getInputId”方法
<?= Html::getInputId($model, 'phone'); ?>
默认情况下,该字段的id为
$model-$attribute
,即
如果您使用的是用户
型号和用户名
格式,即
<?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>
在这种情况下,输入的id将是my\u id
根据最新评论进行编辑:(我没有尝试过,但根据文档进行了解释)
由于textInput
函数是return$this
因此,getInputId
()必须可以作为
<?php
$form->field($model, 'username')->textInput(['maxlength' => true])->getInputId(); // this will not work
?>
但根据文档,这是受保护的方法,因此无法在类外调用
<?php
$form->field($model, 'username')->textInput(['maxlength' => true])->getInputId(); // this will not work
?>