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/
4

1 回答 1

1

问题是您的代码正在尝试访问 id 为“myfile”的元素,但您的标记没有这样的元素。

当我更改文件输入的 id 以匹配代码中的内容时,它在 IE9 和 Chrome 中都对我有用(尽管显然您可以更改 JS 以匹配 html):

<input type="file" name="photoimg" id="myfile" />

演示:http: //jsfiddle.net/ytcXF/

于 2012-06-21T11:05:16.383 回答