2013-08-15 9 views
2

Я хочу, чтобы обратный вызов JavaScript успешно удалял активную форму. Где я могу поместить обратный вызов JavaScript?Yii: обратный вызов JavaScript в успешной форме submit

Нужно ли сделать форму AJAX, чтобы сделать это или выполнимо с обычными формами (не AJAX)?

Фактически, я собираюсь поместить эту форму внутри iframe (внутри модального диалога jQuery UI).

Когда форма в iframe сохраняется мне нужно сделать две вещи:

  1. закрыть диалоговое окно;
  2. обновить список вещей в <select> основного документа HTML.

ответ

2

Попытки поставить АЯКС обработчик на подчиненной форме, вот живой код из моего проекта в качестве примера:

echo CHtml::ajaxSubmitButton('submit',   
     array('index'), 
     array(
       'type'=>'POST', 
       'data' => array(), 
       'success' => 'js:function(){/*callback*/}', 
     )); 

Пожалуйста, не забудьте дать этой кнопке уникальный (prefix_random) идентификатор, чтобы избежать inconvenionces

2

Вы можете добавить кнопку в форму:

<?=CHtml::ajaxSubmitButton('Save', Yii::app()->createUrl('some_url'), 
      array('success' => 'function(response){afterSubmitForm(response);}'), 
      array('class' => 'btn btn-primary')); 
     ?> 

Где afterSubmitForm() JS функции, которые получают ответ сервера в качестве параметра.

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