我有一个允许用户上传文件的表单。它是一个多步骤的表单(在表单中的各个div上使用简单的隐藏/显示),因此表单提交的唯一时间是在用户单击“提交”时结束。
当用户点击提交表单帖子到处理所有内容的ColdFusion页面时,也可以返回JSON格式的成功结果。我知道您不能使用AJAX提交带附件的表单(除非使用某种类型的插件)。
有没有人可以告诉我如何使用一个表单将数据发布到另一个页面并在处理时显示进度条。一旦JSON从其他页面返回“成功”结果,它就可以重定向到成功页面或其他任何页面。我已经尝试过使用JQuery的AJAX,但它不会明显地发送文件数据,所以唯一的方法是将表单直接发布到ColdFusion页面而不涉及JQuery。这是有效的,但如果用户提交了大量文件,他将不知道为什么页面会挂起这么久以及他需要等待多长时间。
这可能吗?我正在使用ColdFusion 10和JQuery 1.9.1(但如果需要可以使用2.0)。
这是我到目前为止所做的:
$("#my-form").on('click', 'input[type="submit"]', function (e) {
if (!$("#my-form").valid()) { //if form is invalid, show errors and don't submit
e.preventDefault();
return;
}
else {
// Form validated so is posted to server.
// How to wait for the CF page to return a successful JSON result?
// A spinner probably is enough to show the page is doing something.
}
});