フレームワークのドキュメントと yii フォーラムを調べましたが、これについては何も見つからないようです。UActiveForm ウィジェットに ajax オプションを追加しようとしています。別の言い方をすれば、この ajax フォームの送信ボタンがクリックされたときに、ロード中の gif を div に挿入したいと考えています。生のjavascript/jquery/phpでこれを行う方法は知っていますが、このフレームワークではこれを行うことができないようです。これが私のbeginウィジェットコードです:
<?php $form=$this->beginWidget('UActiveForm', array(
'id'=>'login-form',
'enableAjaxValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
'validateOnChange'=>false,
'validateOnType'=>false,
),
'htmlOptions' => array(
'enctype'=>'multipart/form-data','class'=>'white-popup-block'),
),
)); ?>
<!--form labels/inputs here-->
<?php $this->endWidget(); ?>
以下は、フレームワークなしで ajax コードを実行した場合の ajax コードの一部です。
request = $.ajax({
url: "usersystem/login.php",
type: "POST",
data: serializedData,
beforeSend: function() {
$('#loader').show();
$('button').off(); //unbind all buttons
},
complete: function(){
$('#loader').hide();
},
success: function(data) {
$('#test').append(data);
}
});
私が特に欲しいのは beforeSend と完全な ajax オプションです。単純に追加してみました
'ajax'=> array(
'beforeSend'=> 'function() {
alert("testing, ready");
}',
'complete'=> 'function(){
alert("testing,done");
}',
),
UActiveForm ウィジェットのオプションに追加しましたが、機能しません。このフレームワークを理解するための助けをいただければ幸いです。