2011-02-17 10 views
5

Deseo enviar datos de campos adicionales (formulario) con uploadify. Para este propósito, estoy usando scriptData. Por ejemplo, el siguiente código envía los valores estáticos del nombre y el campo de ubicación correctamente.Enviar datos de campos adicionales con Uploadify

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#fileUpload").fileUpload({ 
     'uploader': 'uploadify/uploader.swf', 
     'cancelImg': 'uploadify/cancel.png', 
     'script': 'uploadify/upload.php', 
     'folder': 'files', 
     'multi': false, 
     'displayData': 'speed', 
     'scriptData': {'name':'JohnDoe', 'location':'Australia'} 

    }); 
}); 
</script> 

Sin embargo, como tengo el nombre y la ubicación de los campos de entrada, por lo tanto, deseo enviar los valores dinámicos. Para ello, Im envío de los valores en la siguiente ScriptData

'scriptData' : {'name' : $('#name').val(), 'location' : $('#location').val()} 

Y en upload.php, estoy tratando

$name = $_GET['name']; 
$location = $_GET['location']; 

Pero no hay nada de los valores. Por favor, ayúdenme con respecto a esto, cómo puedo enviar datos de campos adicionales. Gracias.

Respuesta

-1

es necesario especificar el método por el cual usted está enviando sus variables:

En su configuración uploadify:

//... 
'method': 'POST', 
//... 
+0

pensé POST es el método por defecto sin embargo, no importa incluso después de agregar esto. – adam

+0

que es bastante extraño, ¿qué versión de uploadify estás usando? – JamesHalsall

2

Debido val() 's son llamados cuando se carga DOM, no cuando un usuario escribe la ubicación y el nombre. Debe usar uno de los eventos para establecer nuevos valores. El manual no es clara al respecto, creo que debe ser onSelectOnce evento:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#fileUpload").fileUpload({ 
     'uploader': 'uploadify/uploader.swf', 
     'cancelImg': 'uploadify/cancel.png', 
     'script': 'uploadify/upload.php', 
     'folder': 'files', 
     'multi': false, 
     'displayData': 'speed', 
     'scriptData': {'name':'', 'location':''}, 
     'onSelectOnce' : function(event,data) { 
      $("#fileUpload").uploadifySettings('scriptData', {'name' : $('#name').val(), 'location' : $('#location').val()}); 
     } 
    }); 
}); 
</script> 
0

¿Ha intentado poner comillas en el valor que desea codificar JSON? es decir, reemplazando $('#location').val() con "\'"+$('#location').val()+"\'".

0

el código aquí uploadify 3,1

$(function() { 
    $('#file_upload').uploadify({ 
     'formData'  : {'id' : ''}, 
     'debug': false,   
     'buttonClass' : 'g-button g-button-blue', 
     'swf'   : '../uploadify/uploadify.swf', 
     'uploader'  : 'ajax/my_upload_file.php', 
     'onUploadStart' : function(file) { 
      $('#file_upload').uploadify('settings', 'formData', {'id' : $('#id').val() }); 
     } 
    }); 
}); 

tengo que usarlo porque llamo a mis datos de formulario con JSON y entonces debo actualizar uploadify parámetro ID

Cuestiones relacionadas