这是我的dropzone配置:
var myDropzone = new Dropzone(".myDZ", {
url: $('#form').attr('action'),
previewTemplate: previewTemplate,
uploadMultiple: true,
previewsContainer: "#previews",
clickable: "#fileinput-btn",
autoProcessQueue: false,
init: function() {
var dz = this;
this.element.querySelector("button[type=submit]").addEventListener("click", function (e) {
e.preventDefault();
dz.processQueue();
});
}
});
按下提交按钮后,我可以从后端看到数据已正确提交。但是,在后端返回响应后,前端不会对其做出反应。表单页面保持不变,不显示返回的消息,再次单击提交按钮不会触发任何提交。
我试过了:
this.element.querySelector("button[type=submit]").addEventListener("click", function (e) {
e.preventDefault();
dz.processQueue();
document.getElementById("form").submit();
});
}
});
这将强制表单提交两次,但在第二次尝试后显示正确的响应。这有效,但感觉不对。
有关可能出现的问题的任何建议?
答案 0 :(得分:0)
我同意提交两次是很脏的。 您可能会尝试在成功函数中捕获您的响应,因为Dropzone正在异步等待。
Match description = Regex.Match(line, "^<div class=\"scrollable \"^(.*?)$div>",
RegexOptions.Multiline);//multiple line
if (description.Success)
{
//Console.WriteLine(status_id.Groups[1].Value);
System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\\Webasto\\csv-"+zahl+".txt");
file.WriteLine(id.Groups[1].Value + ";4;4;" + subject.Groups[1].Value + ";" + due_date.Groups[1].Value+";NULL;"+status_id.Groups[1].Value+";"//+assigned.Groups[1].Value
+";"
+priority.Groups[1].Value+";NULL;"+autor.Groups[1].Value+";0;"+created_on.Groups[1].Value+";"+start_date.Groups[1].Value+";"+done_ratio.Groups[1].Value+";"+hours.Groups[1].Value
+";NULL;"+id.Groups[1].Value+";1;2;0;"+closed.Groups[1].Value+";");
file.Close();
}