我有以下ajax上传器的JavaScript;
$(document).ready(function(){
var qwerty = $('#qwerty').val();
$('#demo1').ajaxupload({
url:'upload.php',
remotePath: qwerty,
maxConnections:1,
finish:function(files)
{
alert('uploaded');
},
});
});
var qwerty
是具有默认value=""
的文字输入的值。页面加载时该字段为空白。里面的文本被设置为上传者的上传目录。但即使我在里面输入一些文本,它也会返回null。当我重新加载页面时,我之前输入的文本保留在那里,这次,文本被采用并传递给变量。再次,如果我更改文本,传递的数据是保留在输入字段中的文本,而不是我现在输入的文本。如何始终将输入字段的当前值传递给变量?
答案 0 :(得分:0)
$(document).ready(function(){
表示页面加载和所有文档元素准备就绪。它在页面加载后调用一次。那时你的输入值是空的,所以输入后无关紧要。您需要事件监听器才能从输入文本中获取数据。
答案 1 :(得分:0)
在文档准备好时定义ajaxupload。输入更改后没有发生任何事情,因为您的ajaxupload使用您输入值的先前版本 您可以在更改文本框值后重新初始化ajaxupload。
$(document).ready(function(){
//Initializing when document is ready
InitializeAjaxUpload();
$("#qwerty").change(function () {
//Initializing after input value changes
InitializeAjaxUpload();
});
});
function InitializeAjaxUpload()
{
$('#demo1').ajaxupload({
url:'upload.php',
remotePath: $('#qwerty').val(),
maxConnections:1,
finish:function(files)
{
alert('uploaded');
}
});
}
我没有测试过这个,但你需要这样的东西。试试吧:))