ネイティブ joomla コードのモーダル ウィンドウを使用しています。あるユーザーから別のユーザーにメールを送信するために使用されるフォームを表示しています。php、css、およびjsコードは、ビューのtmplファイル(JDocumentを使用)にあり、jsはそのようなものです。
var $j = jQuery.noConflict();
$j(document).ready(function(){
$j("#sendMail").click(function(){
if(document.formvalidator.isValid(this.form)){
$j("#mailSending").css("display","inline-block");
$j.ajax({
type: \'POST\',
url: \'index.php?option=mycomponent&tmpl=component&view=members\',
data: $j("form#mailForm").serialize(),
success: function(data,xhr,status){
$j("#mailSending").css("display","none");
$j("#mailMsg").css("display","inline-block");
setTimeout(function(){window.parent.SqueezeBox.close()},1000);
alert(status);
}
});
}else{
$j("#mailMsg").text("'.JText::_('OFFER_EMPTY_FIELDS').'").css("display","inline-block").delay(1000).fadeOut("slow");
}
});
});';
クリック機能をトリガーして読み込みアイコンが表示され、コントローラーファイル内のタスクが実行されると、xhr を firebug でトレースしています。PHP ファイルは次のように終了します。
$send =& $mailer->Send();
if ( $send !== true ) {
echo 'Error sending email: ' . $send->getMessage();
} else {
echo 'Mail sent';
}
exit();
PHP 関数の処理が終了している間、モーダル ウィンドウ内のコンテンツは Mail Sent で変更されます。しかし、読み込み中の.gifを非表示にしてメッセージを表示したい. しかし、コードはそうしません。何か案が ?