2012-03-24 2 views
1

У меня есть JavaScript для пользователя 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, даже если я ввожу текст внутри. Когда я перезагружаю страницу, текст, который я вводил ранее, остается там, и на этот раз текст берется и передается в переменную. Опять же, если я изменяю текст, переданные данные - это текст, который остался в поле ввода, а не тот, который я ввел сейчас. Как я могу всегда передавать текущее значение поля ввода в переменную?

+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

Святое дерьмо это Чак! – adeneo

+0

создает еще одно событие загрузчика ...: P –

0

$(document).ready(function(){ означает, что загрузка страницы и все элементы документа готовы. И он вызывается один раз после загрузки страницы. В это время ваше входное значение пуст, поэтому не важно, чтобы вы печатали после него. Для получения данных из входного текста необходим прослушиватель событий.

+0

как я могу установить это? –

+0

Когда страница загружается, попробуйте загрузить. Вам нужно очистить то, что вы хотите сделать – safarov

+0

Я хочу обновить переменную qwerty live ... Переменная должна нести входные данные в реальном времени ... –