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); });
您需要在处理文件的输入上设置一个事件处理程序,并将其链接到“已更改”的事件处理程序。 这样,当用户更改文件名时,您调用的函数可以查看文件是否存在,然后自动提交表单。
防止发生默认事件的“Jquery方式”是event.preventDefault()
。 这可能等于return false
但是在使用它时我从未遇到过问题。 另一件事可能是您在那些阻止返回false的浏览器上遇到脚本错误。 您可以通过将事件处理程序更改为如下所示来完成此操作
function(event) { event.preventDefault(); // Do stuff here }