これは、アップロードが成功した場合やファイルが大きすぎる場合に ajax を介してメッセージを返す、ちょっとした ajax アップロード スニペットです。upload.php Iis には、フォーム ページに返されるメッセージを含む div があります。ページ自体に戻るのではなく、モーダル ウィンドウに div/メッセージが返されるように、これをどのように変更するのか疑問に思っていました...誰かが私を助けてくれることを願っています。どこかでjquery uiを使用する必要がありますか? みんなありがとう!
$j(document).ready(function(){
var upload = new AjaxUpload('#userfile', {
//upload script
action: '/modules/mod_artuploader/upload.php',
onSubmit : function(file, extension){
//show loading animation
//$j("#loading").show();
//check file extension
if (! (extension && /^(jpg|png|jpeg|gif)$/.test(extension))){
// extension is not allowed
$j("#loading").hide();
$j("<span class='error'>Error: Not a valid file extension</span>").appendTo("#file_holder #errormes");
// cancel upload
return false;
} else {
// get rid of error
$j('.error').hide();
}
//send the data
upload.setData({'file': file, 'userid': <?php echo $user->id?> });
},
onComplete : function(file, response){
//hide the loading animation
$j("#loading").hide();
$j("#userfile").hide();
$j('label[for="userfile"]').hide();
//add display:block to success message holder
$j(".success").css("display", "block");
$j(".picture").css("display", "block");
//This lower portion gets the error message from upload.php file and appends it to our specifed error message block
//find the div in the iFrame and append to error message
var oBody = $j(".iframe").contents().find("div");
//add the iFrame to the errormes td
$j(oBody).appendTo("#file_holder #errormes");
}
});
});
</script>