我按照Railscasts剧集(http://railscasts.com/episodes/381-jquery-file-upload)来上传我的网站上传文件。一切都按照教程的方式工作,但我想改变一件事,到目前为止还没有成功。
我想表示在他们点击提交按钮之后才提交。现在,我相信使用以下js,表单会在用户找到文件时提交。
#Snippet
data.submit()
#Whole JS File
jQuery ->
$('#new_update').fileupload
dataType: "script"
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#new_update').append(data.context)
data.submit()
else
alert("#{file.name} is not a gif, jpeg, or png image file")
progress: (e, data) ->
if data.context
progress = parseInt(data.loaded / data.total * 100, 10)
data.context.find('.bar').css('width', progress + '%')
我宁愿删除它并使用按钮代替,因为我有一个textarea,我希望用户在提交表单之前填写。
如何在用户点击按钮之后暂停图像上传???
更新
完整的JS文件
jQuery ->
$('#new_update').fileupload
dataType: "script"
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#new_update').append(data.context)
else
alert("#{file.name} is not a gif, jpeg, or png image file")
$("#submt_button").on 'click', ->
data.submit()
progress: (e, data) ->
if data.context
progress = parseInt(data.loaded / data.total * 100, 10)
data.context.find('.bar').css('width', progress + '%')
答案 0 :(得分:2)
正如原始答案所述,您可以通过删除data.submit()
来实现此目的,但是,您需要确保“提交”事件触发了JQuery文件上传:
jQuery file upload: Is it possible to trigger upload with a submit button?
#Whole JS File
jQuery ->
$('#new_update').fileupload
dataType: "script"
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#new_update').append(data.context)
else
alert("#{file.name} is not a gif, jpeg, or png image file")
$("#submit_button").on 'click', (formEvent) ->
formEvent.preventDefault()
data.submit()
progress: (e, data) ->
if data.context
progress = parseInt(data.loaded / data.total * 100, 10)
data.context.find('.bar').css('width', progress + '%')
答案 1 :(得分:0)
查看js,我注意到有一个data.submit(),删除它,它不应该提交表单