Jquery表单上传插件:如何将其减少到一次点击?

我使用jquery表单插件来处理上传文件,

这是我的表格,

jquery,

  $('#myForm').submit(function() { $(this).ajaxSubmit({ target: '#output' }); return false; }); 

这个想法的后退是你必须在上传文件之前点击两次 – 你必须单击浏览文件,然后单击提交按钮。

如何将其减少到一次点击? 理想情况下,当您从桌面选择文件并在浏览窗口/弹出窗口中单击确定时,我希望它自动触发提交。

可能吗?

另一个注意事项:为什么它不适用于Chrome,IE和Safari(它只适用于Firefox和Opera) – 表单将在这些浏览器上提交,但我已经设置了submit()return false

 $('input[type=file]').change(function() { var vals = $(this).val(), val = vals.length ? vals.split('\\').pop() : ''; alert("value changed submit the form here"); $('input[type=text]').val(val); }); 

http://jsfiddle.net/CSvjw/82/

您需要在处理文件的输入上设置一个事件处理程序,并将其链接到“已更改”的事件处理程序。 这样,当用户更改文件名时,您调用的函数可以查看文件是否存在,然后自动提交表单。

防止发生默认事件的“Jquery方式”是event.preventDefault() 。 这可能等于return false但是在使用它时我从未遇到过问题。 另一件事可能是您在那些阻止返回false的浏览器上遇到脚本错误。 您可以通过将事件处理程序更改为如下所示来完成此操作

  function(event) { event.preventDefault(); // Do stuff here }