2016-07-11 5 views
3

js에서 필드의 ID를 사용하려고합니다. Yii2 설명서를 읽었으며 ActiveField에 "getInputId"메서드가 있지만 어떻게 호출해야합니까?Yii2. 양식 입력 입력 ID

$ form-> field의 결과를 var에 저장할 수 있지만 문자열이므로 사용할 수 없습니다.

나는 ActiveForm 코드를 검사 해왔고 beginField와 endField라는 두 가지 방법이 존재한다는 것을 알았 는가? 어떤 아이디어라도 감사 할 것입니다.

답변

2

은 기본적으로 그 분야에 대한 ID, 즉

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

ID가 될 것입니다 $model-$attribute

입니다 user-username

필드에 수동으로 id를 지정할 수도 있습니다 (예 :

). (나는이 시도하지만, 문서에 따라 설명하지 않은 경우) textInput 기능이

과 같이 입력에 대한 ID가 최신 코멘트에 따라 my_id

편집 될 것입니다,이 경우

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

그래서 getInputId (http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#getInputId()-detail는)

0123로 수 $ thishttp://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#textInput()-detail

를 호출해야 돌려주는

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

하지만이 때문에 클래스

외부 전화를 사용할 수 없습니다 문서에 따라 방법를 보호
12

나는 좋은 해결책을 발견했다. HTML 도우미에서 "getInputId"메소드가 있습니다. 내 원래 질문이 아직 보류 중입니다. 어떻게 activeField에서 "getInputId"메서드를 사용합니까? 양식에 제출 User 모델과 username을 사용하는 경우

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