2014-02-20 3 views
1

У меня есть выбор в моей форме. Когда я меняю его «функция изменения», присвойте этому значению значение vardir переменная. Я хочу отправить эту переменную в uploadFile область действия, но она не распознает переменную (пустую), но afterUploadAll функция alert показывает истинное значение переменной.отправка переменной в область

Как отправить переменную в область видимости? Спасибо

var vardir = ""; 
    $("#galeri").live("change",function(event) { 
     if ($("#galeri").val() != '') { 
      $("#yukletr").show("slow"); 
      vardir = $("#galeri").val(); 
     } 
     else 
     $("#yukletr").hide("slow"); 
    }); 

    $("#fileuploader").uploadFile({ 
    url:"upload.php", 
    multiple:true, 
    method:'POST', 
    formData: { dir: vardir }, 
    allowedTypes : "png,jpeg,jpg,gif", 
    afterUploadAll:function() 
    { 
     alert(vardir); 
    } 
    }); 
+3

Когда вы вызываете '.uploadFile' и передаете объект с помощью' vardir', эта переменная еще не имеет значения. У этого нет ничего **, чтобы сделать с областью и * все *, чтобы сделать с временем. –

+0

Когда загружается файл для запуска? В настоящее время он запускается, как только вы выполняете код, который, вероятно, не тот, который вы хотите. –

+0

Вы также можете разместить свой HTML-код? – Genus

ответ

2

Я решил эту проблему. есть функция dynamicFormData, например;

dynamicFormData: function() { 
    var data ={ dir: $("#galeri").val() } 
    return data; 
} 
0

Вы должны вызвать функцию загрузки сразу после события изменения срабатывает:

var vardir = ""; 
$("#galeri").live("change",function(event) { 
     if ($("#galeri").val() != '') { 
      $("#yukletr").show("slow"); 
      vardir = $("#galeri").val(); 
      // relocated here! 
      $("#fileuploader").uploadFile({ 
       url:"upload.php", 
       multiple:true, 
       method:'POST', 
       formData: { dir: vardir }, 
       allowedTypes : "png,jpeg,jpg,gif", 
       afterUploadAll:function() 
       { 
        alert(vardir); 
       } 
      }); 
     } 
     else 
      $("#yukletr").hide("slow"); 
}); 
+0

Это может быть не предназначено, особенно если вы делаете опечатку или случайно покидаете фокус ввода. –

+0

спасибо. он работает нормально. –

+0

Он больше не работает? что случилось? –

Смежные вопросы