1

我有 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是具有 default 的文本输入的值value=""。页面加载时该字段为空白。里面的文字设置为上传者的上传目录。但即使我在里面输入一些文本,它也会返回 null 。当我重新加载页面时,我之前输入的文本仍然存在,这一次,文本被获取并传递给变量。同样,如果我更改文本,传递的数据是保留在输入字段中的文本,而不是我现在输入的文本。如何始终将输入字段的当前值传递给变量?

4

2 回答 2

0

$(document).ready(function(){表示当页面加载并且所有文档元素准备好时。它在页面加载后调用一次。那时你的输入值是空的,所以你之后输入也没关系。您需要事件侦听器来从输入文本中获取数据。

于 2012-03-24T09:25:47.397 回答
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');
              }

    });
}

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

于 2012-03-24T09:29:58.343 回答