2016-01-28 2 views
0

Как я могу изменить элемент (тег), который будет обновляться через ответ сервера.Yii2 - Как мы можем изменить элемент, который будет обновляться через ответ Pjax

это моя форма

<div id="test" class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"> 
      <div class="modal-dialog modal-sm"> 
      <div class="modal-content"> 
       <div class="modal-header">ورود به سایت</div> 
       <?php 
       \yii\widgets\Pjax::begin(['enablePushState'=>FALSE]); 
       $loginModel=new \common\models\LoginForm(); 
       $form=\yii\bootstrap\ActiveForm::begin([ 
        'id'=>'form-login',       
        'options'=>['data-pjax'=>''], 
        'method'=>'post', 
        'action'=>['site/login'], 

       ]); 

       echo $form->field($loginModel, 'username')->textInput()->label('نام کاربری'); 
       echo $form->field($loginModel, 'password')->passwordInput()->label('رمز عبور'); 
       echo $form->field($loginModel,'captchaLogin')->widget(yii\captcha\Captcha::className(),[ 
        'attribute'=>'captchaLogin', 
        'captchaAction'=>'site/captchaLogin', 
        'id'=>'captchaLogin',            
       ])->label('کد امنیتی');           
       ?> 
       <div style="color:#999;margin:1em 0">    
        برای یادآوری رمز عبور <?= \yii\helpers\Html::a('اینجا کلیک کنید', ['site/request-password-reset']) ?>. 
       </div> 
       <div class="form-group"> 
        <?= \yii\helpers\Html::submitButton('ورود', ['class' => 'btn btn-primary', 'name' => 'login','value'=>'ورود']) ?> 
       </div> 
       <div id="my"></div> 

       <?php 
       \yii\bootstrap\ActiveForm::end(); 
       \yii\widgets\Pjax::end(); 
       ?> 
      </div> 
      </div> 
     </div> 

в основном все <div id=#test></div> обновлений по новому содержанию. Я хочу направить все ответы в тег <div id="my"></div> и не обновлять чужие.

+0

Добавить идентификатор вашего контейнера pjax .... –

+0

добавлен, все еще не работает ... – user2564443

ответ

0

Вы можете использовать pjax: beforeReplace метод и нажать все содержимое в <div id="my"></div> вместо <div id=#test></div>.

Адрес documentation link.

Для примера.

$(function(){ $('#test').on('pjax:beforeReplace',function(contents, options){ $('#my').html(contents); }); });

Ваш код JS может выглядеть следующим образом.

 Смежные вопросы

  • Нет связанных вопросов^_^