2016-07-11 6 views
3

Ich versuche, auf die ID ein Feld, um es in js zu verwenden. Ich habe Yii2 Dokumentation gelesen und fand ActiveField ein Verfahren „getInputId“ hat, aber wie ich es nennen?Yii2. Form Eingang Id erhält

<?php $form = ActiveForm::begin(); ?> 
     <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> 
<?php $form->end(); ?> 

kann ich das Ergebnis von $ form-> Feld in einer var speichern, aber es ist ein String so nicht möglich, sie auf diese Weise zu verwenden.

Ich habe Active Code wurde überprüft, und ich sehe es 2 Methoden existiert: beginField und Endfield, vielleicht mit dem soemthing zu tun? Irgendwelche Ideen werden geschätzt.

Antwort

2

von Standard die ID für ihn-Feld ist $model-$attribute dh

, wenn Sie mit User Modell und username in Form eingereicht dh

<?= $form->field($model, 'username')->textInput(['maxlength' => true]) ?> 

Die ID wird user-username

Sie können auch die ID manuell für das Feld an, dh

<?= $form->field($model, 'username')->textInput(['maxlength' => true, 'id' => 'my_id']) ?> 

in diesem Fall die ID für die Eingabe my_id

bearbeitet nach neuestem Kommentar wird: (ich habe nicht versucht, aber erklärte, wie pro-Dokumentation)

als textInput Funktion ist $ return thishttp://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#textInput()-detail

so getInputId (http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#getInputId()-detail) muss in der Lage sein nennen als

<?php 
$form->field($model, 'username')->textInput(['maxlength' => true])->getInputId(); // this will not work 
?> 

aber diese Methode geschützt ist gemäß Dokumentation wird so nicht zur Verfügung stehen außerhalb des Unterrichts zu nennen

12

Ich habe eine gute Lösung gefunden. Es gibt eine Methode "getInputId" von HTML Helper. Meine ursprüngliche Frage steht noch aus. Wie verwende ich die Methode "getInputId" von activeField?

<?= Html::getInputId($model, 'phone'); ?> 
Verwandte Themen