浏览器和事件处理问题,图片上传



此图片上传脚本不能在google chrome中工作,但在firefox和internet explorer中运行良好。请问有人能帮帮忙吗?

$("a#picUpload").bind('click', function() {
    $(":input[type=file]").click();
});

其次,在选择一张图片并点击打开对话框上的打开按钮后,我希望在打开的对话框卸载后自动开始上传图片,但我不知道如何做到这一点。上传是ajax的。任何建议吗?谢谢。

我认为第一个问题可以通过在"#"之前在"a"之后引入一个空格来解决。我假设'picUpload'是锚元素的id。在这种情况下,你根本不需要使用"a"。只需使用'#picUpload'将click事件绑定到元素。我更喜欢第二种方法,即只使用#id来获取该元素的jQuery对象。

$("#picUpload").bind('click', function() {
    $(":input[type=file]").click();
});

我还建议您检查您的表单的任何其他元素具有相同的id为'picUpload'元素。在这种情况下,事情可能会出错。

选择文件后,使用input:file元素的'change'事件自动开始上传文件。

$('#fileUpload').change(function() {
    alert('changed');
    //call your ajax function for uploading file
});

要使上述脚本工作,格式应如下所示

<form>
   <a id='picUpload' href='#'>Upload picture</a>
    <input id='fileUpload' type="file"/>
</form>

点击此处:http://jsfiddle.net/deepumohanp/vvVWt/

最新更新