我有一个图片上传按钮,当从浏览窗口中选择时,它会自动上传文件.
尽管如此,它第二次不起作用,这是因为没有触发onChange事件.为什么会这样?
以下是一个用例:
1.单击该按钮,我调用uploadMessagePicture(),打开浏览窗口.
2.当用户选择了图像,则检测到onChange事件,其触发ajaxFileUpload(),并显示照片编辑器区域.
3.上传完成后,将显示图像预览.4.用户通过调用deleteMessageImage()(其也清除字段和隐藏照片编辑器)删除图象.
5.用户尝试上传另一张图片.
在这一点上,出现浏览窗口,但是当我选择图片,则不会触发onChange事件所以什么也不会发生.(此外,它似乎并不像文件名,甚至转移到输入"值字段.)
我使用的是Firefox 23.0.1
这是HTML:
<a class="im-photo-btn" href="javascript:;" onclick="javascript:uploadMessagePicture();"><i class="icon-join-photo"></i></a>
<div class="editor-photoarea" id="editor-photoarea" style="display:none;">
<input name="image_message_file" type="hidden" id="image_message_file" value="" />
<div id="image_message_upload">
<input name="image-message" type="file" id="image-message" style="display:none; visibility:hidden;" />
<!-- hide it and trigger it from the photo btn (need both display:none + visibility:hiden for browser compatibility) -->
</div>
<div class="loading" id="image_message_loading" style="display:none;"><img alt="<?php echo $lang["Loading"];?>" src="lib/immedia/img/ajax-loader.gif" /> <?php echo $lang["Loading"];?></div>
<div class="preview" style="display:none;" id="image_message_preview">
<!-- <div>Image preview :</div>
<div id='small_message_msg'></div>
<img src='' /> …Run Code Online (Sandbox Code Playgroud)