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 qwertydefault を持つテキスト入力の値ですvalue=""。ページが読み込まれると、フィールドは空白になります。中のテキストは、アップローダーのアップロード ディレクトリとして設定されます。しかし、中にテキストを入力してもnullが返されます。ページをリロードすると、以前に入力したテキストがそこに残り、今回はテキストが取得されて変数に渡されます。もう一度テキストを変更すると、渡されたデータは入力フィールドに残っていたテキストであり、現在入力したものではありません。入力フィールドの現在の値を常に変数に渡すにはどうすればよいですか?

4

2 に答える 2

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 に答える
0

$(document).ready(function(){ページが読み込まれ、すべてのドキュメント要素の準備が整ったときを意味します。そして、ページの読み込み後に一度呼び出されました。その時点で入力値は空なので、後で入力しても問題ありません。入力テキストからデータを取得するには、イベント リスナーが必要です。

于 2012-03-24T09:25:47.397 に答える