2012-03-24 15 views
1

私は以下のようにajax uploaderのJavaScriptを持っています。テキスト入力値を取得するための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を返します。ページをリロードすると、前に入力したテキストがそこに残り、今回はテキストが取り込まれて変数に渡されます。再度テキストを変更すると、渡されたデータは入力フィールドに残っていて、入力したテキストではありません。入力フィールドの現在の値を常に変数に渡すにはどうすればよいですか?

+1

'finish'関数の後に、'} 'を実際に削除します。そうしないと、IEでさまざまな問題が発生します。 – ThiefMaster

答えて

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

    }); 
} 

私はこれをテストしませんでしたが、このようなものが必要です。試してみてください:)

+2

+1あなたのユーザー名のために: – Jashwant

+0

Holy Crap it's Chuck! – adeneo

+0

アップローダの別のイベントを作成しています...:P –

0

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

+0

どうすれば設定できますか? –

+0

ページを読み込むときにアップロードしようとします。あなたは何をしたいのかを明確にする必要があります – safarov

+0

変数qwerty liveを更新したい...変数はリアルタイムで入力データを持ちます... –

関連する問題