/* ===================================== * 画像アップロード * Type: php javascript * Version: 1.3.0 * Register: 2013-03-01 * Update: 2013-03-01 * * Use: jquery ===================================== */ var upload_image_submit_flag = true; var upload_image_submit_default_action; var upload_image_submit_default_target = "_self"; function uploadImage(upload_id, upload_item, data_name, upload_dir) { if ( upload_image_submit_flag == true ) { upload_image_submit_default_action = document.form_data.action; upload_image_submit_flag = false; } var url1 = "/common/php/lib/upload_image.php?ajax_req=start&upload_item=" + upload_item + "&data_name=" + data_name; var url2 = "/common/php/lib/upload_image.php?ajax_req=check&upload_item=" + upload_item; _startImageUpload(upload_id, url1); setTimeout("_postImageUpload('" + upload_item + "', '" + upload_dir + "')", 1000); _checkImageUpload(upload_id, url2, upload_item); } function _startImageUpload(upload_id, url) { _loadImageData(upload_id, url); } function _loadImageData(upload_id, image_url) { $.ajax({ type: "GET", url: image_url, cache: false, success: function(img) { $('#' + upload_id).html(img); }, error: function(XMLHttpRequest, textStatus, errorThrown) { $('#' + upload_id).html("ネットワーク・エラーが発生しました"); } }); } function _postImageUpload(upload_item, upload_dir) { document.form_data.action = "/common/php/lib/upload_image.php"; document.form_data.target = "form_post_data"; document.form_data.ajax_req.value = "post"; document.form_data.upload_item.value = upload_item; document.form_data.upload_dir.value = upload_dir; document.form_data.submit(); } var upload_image_timer = new Array(); function _checkImageUpload(upload_id, url, upload_item) { upload_image_timer[upload_item] = setInterval("_checkImageFile('" + upload_id + "', '" + url + "', '" + upload_item + "')", 1000); } function _checkImageFile(upload_id, check_url, upload_item) { var message; $.ajax({ type: "GET", url: check_url, cache: false, success: function(res) { if ( res == 1 ) { message = 'アップロード完了'; $('#' + upload_id).html(message); clearInterval(upload_image_timer[upload_item]); setTimeout("_getImageData('" + upload_id + "', '" + upload_item + "')", 500); } else if ( res == 2 ) { message = 'アップロード中'; $('#' + upload_id).html(message); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { $('#' + upload_id).html("ネットワーク・エラーが発生しました"); } }); } function _getImageData(upload_id, upload_item) { var url = "/common/php/lib/upload_image.php?ajax_req=display&upload_item=" + upload_item; _loadImageData(upload_id, url); var delID = upload_id + "_delete"; _resetUploadImageSubmit(); $('#' + delID).css("display", "block"); } function _resetUploadImageSubmit() { document.form_data.action = upload_image_submit_default_action; document.form_data.target = upload_image_submit_default_target; } function deleteImage(upload_id, upload_item, data_name) { if ( !window.confirm("画像を削除しますか?") ) { return false; } else { var url = "/common/php/lib/upload_image.php?ajax_req=delete&upload_item=" + upload_item + "&data_name=" + data_name; _loadImageData(upload_id, url); var delID = upload_id + "_delete"; $('#' + delID).css("display", "none"); return false; } } // =============================================================================