获取文本输入值的JavaScript

获取文本输入值的JavaScript,javascript,jquery,input,ajax-upload,Javascript,Jquery,Input,Ajax Upload,我有ajax上传器的JavaScript,如下所示 $(document).ready(function(){ var qwerty = $('#qwerty').val(); $('#demo1').ajaxupload({ url:'upload.php', remotePath: qwerty, maxConnections:1, finish:function(files) { alert('uploaded'); }, }); }); var qw

我有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。当我重新加载页面时,我以前输入的文本将保留在那里,这次,文本将被获取并传递到变量中。同样,如果我更改文本,传递的数据是保留在输入字段中的文本,而不是我现在输入的文本。如何始终将输入字段的当前值传递给变量?

$(文档).ready(函数(){
表示页面加载和所有文档元素准备就绪时。在页面加载后,它会调用一次。此时,您的输入值为空,因此您在之后键入并不重要。您需要事件侦听器从输入文本中获取数据。

当文档准备就绪时,您定义了ajaxupload。在输入发生更改后,不会发生任何事情,因为您的jaxupload使用以前版本的输入值。
更改文本框值后,可以重新初始化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');
              }

    });
}

我没有测试过这个,但你需要这样的东西。试试看:)

当页面加载时,尝试上传。你需要明确你想做什么我想更新变量qwerty live…变量应该实时携带输入数据…你真的想删除
中的
在您的
函数完成之后。否则,它将在IE中引起各种问题。它正在创建另一个上载程序事件…:PSo,通过单击按钮,它想要上载多个文件?Chuck Norris是否理解正确?ajaxupload函数已在pageload上初始化。无需再这样做。需要的是更改rajaxUpload的emotePath值:)在我编写的示例中,每次都会使用新的输入值创建新的ajaxUpload实例。我错在哪里?