Javascript 变量失去了它的价值
Javascript variable loses its value
背景: 我使用 butSubmit 提交具有 Dropzone 和其他一些字段的表单 - 首先处理 dropzone,然后如果一切顺利,字段也会被处理
问题:文件(来自dropzone)上传正确,error3
得到DropzoneOK值。但是,当我访问按钮单击时的值时,它显示为空。
我也在函数外尝试使用 var error3=""
(也就是说,在第 4 行)。
<script>
$(document).ready(function() {
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('#myDropzone', {
autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 20,
maxFiles: 20,
addRemoveLinks: true,
init: function() {
this.on("errormultiple", function(){
error3="DropzoneErr";
});
this.on("queuecomplete", function () {
this.removeAllFiles();
});
this.on("successmultiple", function(file, response) {
error3="DropzoneOK"; //It works
});
}
});
$('#butSubmit').click(function () {
var error3="";
myDropzone.processQueue();
console.log(error3); //error3 is shown to be empty
if(error3!="DropzoneOK")
error3 = "<p style='color:red'>Please try again</p>";
});
});
</script>
您正在用空值再次声明此变量。
$('#butSubmit').click(function () {
var error3=""; <--- wrong, remove this
myDropzone.processQueue();
console.log(error3); //error3 is shown to be empty
if(error3!="DropzoneOK")
error3 = "<p style='color:red'>Please try again</p>";
});
删除该行后,将 var error3=""
添加为第一行,如下所示:
$(document).ready(function() {
var error3="";
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('#myDropzone', {
autoProcessQueue: false,
...
背景: 我使用 butSubmit 提交具有 Dropzone 和其他一些字段的表单 - 首先处理 dropzone,然后如果一切顺利,字段也会被处理
问题:文件(来自dropzone)上传正确,error3
得到DropzoneOK值。但是,当我访问按钮单击时的值时,它显示为空。
我也在函数外尝试使用 var error3=""
(也就是说,在第 4 行)。
<script>
$(document).ready(function() {
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('#myDropzone', {
autoProcessQueue: false,
uploadMultiple: true,
parallelUploads: 20,
maxFiles: 20,
addRemoveLinks: true,
init: function() {
this.on("errormultiple", function(){
error3="DropzoneErr";
});
this.on("queuecomplete", function () {
this.removeAllFiles();
});
this.on("successmultiple", function(file, response) {
error3="DropzoneOK"; //It works
});
}
});
$('#butSubmit').click(function () {
var error3="";
myDropzone.processQueue();
console.log(error3); //error3 is shown to be empty
if(error3!="DropzoneOK")
error3 = "<p style='color:red'>Please try again</p>";
});
});
</script>
您正在用空值再次声明此变量。
$('#butSubmit').click(function () {
var error3=""; <--- wrong, remove this
myDropzone.processQueue();
console.log(error3); //error3 is shown to be empty
if(error3!="DropzoneOK")
error3 = "<p style='color:red'>Please try again</p>";
});
删除该行后,将 var error3=""
添加为第一行,如下所示:
$(document).ready(function() {
var error3="";
Dropzone.autoDiscover = false;
var myDropzone = new Dropzone('#myDropzone', {
autoProcessQueue: false,
...