JavaScript获取文本输入值

时间:2012-03-24 09:21:10

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

2 个答案:

答案 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');
              }

    });
}

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