2012-08-22 34 views
1

通过一些不错的教程,我试着开始: 1)使用jQuery的(尤其是AjaxUpload库)从输入文件按钮来上传图像文件。 2)使用CSS技巧将默认的HTML5 输入文件按钮更换为更好的自定义按钮。 3)使用HTML5过滤器来允许“仅特定图像”文件上传。AjaxUpload和修改输入的文件类型不共同努力

问题是,当我使用修改后的输入文件按钮(即没有任何反应)时,AjaxUpload库似乎被破坏。

例如,this JSFiddle是使用默认输入文件的测试。如果您尝试上传文件,加载gif会说您目前正在上传文件。 This one与修改后的输入文件相同。没有加载gif启动。

此外,HTML5文件过滤似乎在我的Chrome浏览器中被打破,但这是一个小问题。

有什么想法?

回答

1

这可能是因为某些内部逻辑AjaxUpload或浏览器的安全限制。试试这个CSS(高度是30px而不是0%):

.file-wrapper input { 
     cursor: pointer; 
     font-size: 100px; 
     width:100%; height:30px; 
     filter: alpha(opacity=1); 
     -moz-opacity: 0.01; 
     opacity: 0.01; 
     position: absolute; 
     right: 0; 
     top: 0; 
    } 

另外,关于接受。它必须是这样的(作品肯定在Chrome):

accept="image/jpg,image/jpeg,image/png,image/gif,image/bmp,image/tiff" 

而且看起来不会与AjaxUpload工作。我已经在JSFiddle中尝试过了,但是在结果中我看不到接受属性。可能它由于某种原因被插件删除

+0

是的,现在它的工作原理!谢谢。不过,我也不得不提一下,在这种方式下,当onhover元素时不能显示自定义标题,所以默认显示“No file selected”。。此外,文件过滤仍然不起作用!看到更新的[JSFiddle](http://jsfiddle.net/qMRvG/4/) – JeanValjean

+0

Mhhh!我明白了......说实话,accept =“。jpg,.gif等等”在分离因此,看起来AjaxUpload库已经损坏了,我要去找一些更好的东西了! – JeanValjean

+1

@JeanValjean带onhover标题 - 如果你把标题属性放在一个文件输入上,它必须工作。AjaxUpload也会删除那个。 –