0
我想製作「圖像上傳腳本」。我不想使用輸入元素。點擊紅色圖像時,系統窗口會出現,您可以選擇圖像文件。不過,這並不在IE瀏覽器9圖像替換輸入元素
jQuery代碼:
// this part of code does not work in IE9
$('img').click(
function(){
$('#photoimg').trigger('click');
});
// this works fine
$('#photoimg').live('change', function(){
$("#preview").html('');
$("#preview").html('<img src="loader.gif" alt="Uploading...."/>');
$("#imageform").ajaxForm({
target: '#preview',
success: function() {
alert('IMG was loaded.');
}
}).submit();
});
HTML代碼:
<img id="icon" src="http://ynternet.sk/test2/close_1.jpg">
<form id="imageform" method="post" action='upload_file.php'>
<input type="file" name="photoimg" id="photoimg" />
</form>
<div id='preview'> </div>
例子:
http://ynternet.sk/test_4/
對不起,它只是複製/粘貼錯誤。請看看新的編輯和例子。 http://ynternet.sk/test_4/ – Patrik
腳本正在jsfiddle上工作,但未在服務器上上傳圖像。由於jsfiddle無法上傳圖片,因此您無法看到問題。 – Patrik
你的代碼中的註釋(在問題中)說img click是不起作用的部分,但是改變事件處理程序和上傳「工作正常」 - 你是否說實際上它是相反的?你可以嘗試'$('#photoimg')。change(...'而不是'$('#photoimg')。live('change'...' - 不確定IE9,但我很確定在較老的IE瀏覽器中,更改事件不會冒泡,這意味着它不會與'.live()'一起工作。 – nnnnnn