renderPartial を使用して別のフォームのコンテンツをロードする CJUIDialog があります。そのフォームには、別のフォームをロードする ajax ボタンがあります。そのフォームには、ダイアログ自体の中に前のフォームをロードする必要がある別の ajax ボタンが含まれています。私はこのようにしてみました。しかし、うまくいきません。私のコントローラーには、このような2つのフォームを出力する2つのメソッドがあります。
public function actionNewRecipients(){
$customer = new Customer;
$address = new Address;
$content = $this->renderPartial('_form_new',array('customer'=>$customer,'address'=>$address,'guest'=>true),true);
echo $content;
}
public function actionAddRecipients()
{ $content = $this->renderPartial('_form_inner',array(),true);
echo $content;}
そして、ある形式では、次のような ajax ボタンがあります。
echo CHtml::ajaxSubmitButton(Yii::t('New','New Recipient'),CHtml::normalizeUrl(array('customer/newRecipients')),array('success'=>'js: function(data) {
alert("new");
$("#dialog_gift").html(data);
$("#dialog_gift").dialog("option","title","Select Recipient");
}'));
他の形式では、次のような ajax ボタンがあります。
echo CHtml::ajaxSubmitButton(Yii::t('New','New Recipient'),CHtml::normalizeUrl(array('customer/addRecipients')),array('success'=>'js: function(data) {
alert("select");
$("#dialog_gift").html(data);
$("#dialog_gift").dialog("option","title","Select Recipient");
//$("customer-form_inner").attr("action","'.CHtml::normalizeUrl(array('customer/newRecipients')).'")
}'));
CJUIDialog は次のようになります。
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id'=>'dialog_gift',
// additional javascript options for the dialog plugin
'options'=>array(
'title'=>$title,
'autoOpen'=>false,
'modal'=>true,
'scrolling'=>'no',
'resizable'=>false,
'scrollable'=>false,
'closeOnEscape' => true,
),
));
echo '<div class="span-24">';
echo $content;
echo '</div>';
$this->endWidget('zii.widgets.jui.CJuiDialog');
最初に 1 つのフォーム コンテンツをロードします。
最初の遷移は適切に行われます。しかし、html コンテンツを置き換えた後、他のビューをロードするための 2 番目のトランジションは発生しません。
誰か助けてくれる人がいたら教えてください。
ありがとう