Javascript DropZone JS未从jQuery ID调用的输入字段中获取外部值
我遇到了DropZone JS获取Javascript DropZone JS未从jQuery ID调用的输入字段中获取外部值,javascript,jquery,html,dropzone.js,Javascript,Jquery,Html,Dropzone.js,我遇到了DropZone JS获取输入值并将其传递给上载脚本的问题。上传工作正常,除了此字段未在POST中发送外,一切正常 我有一个非常基本的DZ配置: $("#file_uploader").dropzone({ url: '/ajax/upload.php', dictDefaultMessage: 'Drop photos or click here to upload', maxFilesize: 400000, params: {'project': $
输入值并将其传递给上载脚本的问题。上传工作正常,除了此字段未在POST
中发送外,一切正常
我有一个非常基本的DZ配置:
$("#file_uploader").dropzone({
url: '/ajax/upload.php',
dictDefaultMessage: 'Drop photos or click here to upload',
maxFilesize: 400000,
params: {'project': $('#project-name').val()}, // This is the part I am having issues with
success: function (file, response) {
var obj = JSON.parse(response);
if (obj.status === 'success') {
console.log('gtg');
} else {
alert('upload failed');
$(".dz-preview").remove();
}
}
});
我的html
中有一个字段,如下所示:
<input type="text" id="project-name" required="required"
class="form-control col-md-6 col-xs-12 limited_form"
placeholder="Project Name">
它起作用了。因此,Dropzone由于某种原因无法“查看”该输入字段
我想它可能是id项目名称中的破折号
——但根据HTML5中的规则,破折号在id中是允许的
控制台中没有错误,这是:
// Testing if Selector is working
$(document).on('keyup', '#project-name', function () {
console.log( $('#project-name').val() );
});
键入项目名称时,在控制台中正确显示内容,因此我知道我的选择器正常。因此,我对为什么DropZone没有“看到”它感到困惑
为什么DropZone“忽略”我的jQuery由选择器id标识?我错过了什么明显的错误吗
更新
值得注意的是,我的配置位于$(document)中。ready(function(){
--但是我在函数内部和外部都尝试过它,但问题仍然存在。您的dropzone脚本可能试图在元素加载到DOM之前检索该值。在$(document)中加载脚本.ready()
函数是一种方法。另一种方法是将脚本分配给变量,然后在dropzone中引用变量,如下所示:
$("#file_uploader").dropzone({
url: '/ajax/upload.php',
dictDefaultMessage: 'Drop photos or click here to upload',
maxFilesize: 400000,
params: {'project': function() {
var x = $('#project-name').val();
return x;
}},
success: /* some function */
});
您还可以尝试在函数中直接返回输入值,看看是否有效
$("#file_uploader").dropzone({
url: '/ajax/upload.php',
dictDefaultMessage: 'Drop photos or click here to upload',
maxFilesize: 400000,
params: {'project': function() {
return $('#project-name').val();
}},
success: /* some function */
});
一定要让我知道这个方法是否有效,如果无效,我可以修改或删除它。干杯。谢谢。我很快就会回到那个脚本。你说的有道理。我确实知道(document)。ready()
没有区别..但是在DZ中有一个函数是完全有意义的..当我回到DZ时我一定会更新它..谢谢!都不起作用..他们只是通过文本-->function(){return$('#project name').val();}
作为变量project
的post
发送到upload.php
$("#file_uploader").dropzone({
url: '/ajax/upload.php',
dictDefaultMessage: 'Drop photos or click here to upload',
maxFilesize: 400000,
params: {'project': function() {
return $('#project-name').val();
}},
success: /* some function */
});