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 に答える