Visualizzazione dei risultati da 1 a 5 su 5

Discussione: jQuery e Upload

  1. #1

    jQuery e Upload

    Buon giorno, ho scaricato questo script che, se lasciato com'è funziona,ma se voglio cambiare una directory dinamicamente attraverso una select option, non riesco ad inviare il dato.
    Questo è lo script:
    codice:
    //select option nella pagina admin.php
    echo "<select id='Docu_Cassa' name='Docu_Cassa' style='height:23px'>";
    					echo "<option value=''>Scegli cartella</option>\n";
    					foreach ($array2 as $key2 => $val2) {
    						echo "<option value='".$val2."'>$val2</option>\n";
    					}
    					echo "</select>";
    					echo "</div>";
    
    
    //script nella pagina admin.php
    /*****UPLOAD FILE******/
    				jQuery(function(){
    					var btnUpload		=	$('#upload');
    					var status			=	$('#status');
    					
                                            //valore preso da una select option
    					var Docu_Cassa 		= 	$("#Docu_Cassa").attr('value');
    					
    					new AjaxUpload(btnUpload, {
    						action				: 	'upload-file.php',
    						name				: 	'uploadfile',
    						Docu_Cassa			:	Docu_Cassa, 
    						
    						onSubmit: function(file, ext){
    							 if (! (ext && /^(jpg|png|jpeg|gif|doc)$/.test(ext))){ 
    								// extension is not allowed 
    								status.text('Only JPG, PNG, GIF or DOC files are allowed');
    								return false;
    							}
    							status.text('Uploading...');
    						},
    						onComplete: function(file, response){
    						
    							//On completion clear the status
    							status.text('');
    							//Add uploaded file to list
    							if(response==="success"){
    								jQuery('[*]').appendTo('#files').html('Preview:
    [img]./uploads/'+file+'[/img]
    '+file).addClass('success');
    							} else{
    								jQuery('[*]').appendTo('#files').text(file).addClass('error');
    							}
    						}
    					});
    					
    				});
    				/*****UPLOAD FILE******/
    Codice PHP:
    //script per l'upload in upload-file.php
    $Docu_Cassa        trim($_POST['Docu_Cassa']);
    $uploaddir             '../DOC/'.$Docu_Cassa.'/'


    $file $uploaddir basename($_FILES['uploadfile']['name']); 
     
    if (
    move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
        echo 
    "success";
    } else {
        echo 
    "error";

    Praticamente come faccio?
    grazie mille....

  2. #2
    a parte il fatto che permettere la scelta della directory di destinazione è una FOLLIA, hai controllata cosa c'è nella variabile:
    codice:
    var Docu_Cassa 		= 	$("#Docu_Cassa").attr('value');
    prima di mandarla alla funzione AjaxUpload
    I DON'T Double Click!

  3. #3
    ho controllato, in questo modo:
    codice:
    var Docu_Cassa 		= 	$("#Docu_Cassa").attr('value');
    					
    alert("Doc: " . Docu_Cassa);
    
    e mi restituisce questo messaggio: Docu_Cassa is not defined
    purtroppo non mi invia nulla.
    poi ho notato che dentro il file ajaxupload.3.5.js che richiamo c'è questo settaggio:
    codice:
    this._settings = {
    		
    					
    		// Location of the server-side upload script
    		//action				: 'upload.php',			
    		action				: 'upload-file.php',
    		// File upload name
    		name				: 'userfile',
    
    		
                    //***********************//
    		// Additional data to send
    		data: {
    			Docu_Cassa : Docu_Cassa,
    	                SubDirCassa : SubDirCassa
    		},
                    //***********************//
    
    
    		// Submit file as soon as it's selected
    		autoSubmit: true,
    		// The type of data that you're expecting back from the server.
    		// Html and xml are detected automatically.
    		// Only useful when you are using json data as a response.
    		// Set to "json" in that case. 
    		responseType: false,
    		// When user selects a file, useful with autoSubmit disabled			
    		onChange: function(file, extension){},					
    		// Callback to fire before file is uploaded
    		// You can return false to cancel upload
    		onSubmit: function(file, extension){},
    		// Fired when file upload is completed
    		// WARNING! DO NOT USE "FALSE" STRING AS A RESPONSE!
    		onComplete: function(file, response) {}
    	};
    Praticamente la parte con gli asterischi, dovrebbe essere quella che gestisce altro tipo di valori...
    quindi mi sono mosso in questa direzione senza nessun risultato, non mi invia nulla se dinamico, ma se inserisco, a mano, una qualsiasi stringa, allora me la fa vedere.
    codice:
    /*****UPLOAD FILE******/
    				jQuery(function(){
    					var btnUpload		=	$('#upload');
    					var status			=	$('#status');
    					
    					var Docu_Cassa 		= 	$("#Docu_Cassa").attr('value');
    					var SubDirCassa		= 	$("#SubDirCassa").attr('value');
    					
    					
    					new AjaxUpload(btnUpload, {
    						action				: 	'upload-file.php',
    						name				: 	'uploadfile',
    						
    						data				: 	{
    													Docu_Cassa : Docu_Cassa,
    													SubDirCassa : SubDirCassa
    												},

    Non capisco come, mai è una follia dare la possibilità ad utenti accreditati, di poter creare nuove cartelle cosi da potergli far fare l'upload.

    grazie ancora

  4. #4
    rettifico, non mi restituisce nessun messaggio:
    codice:
    ho controllato, in questo modo:
    
    var Docu_Cassa 		= 	$("#Docu_Cassa").attr('value');
    					
    alert("Doc: " . Docu_Cassa);
    
    e mi restituisce questo messaggio: Docu_Cassa is not defined
    avevo fatto un'errore io..

  5. #5
    ragazzi, ho un grave problema non riesco ad inviare il nome della cartella e sottocartella alla pagina che fà l'upload...
    questo è la pagina:
    codice:
    /*****UPLOAD FILE******/
    				jQuery(function(){
    					var btnUpload		=	$('#upload');
    					var status			=	$('#status');
    					
    					var Docu_Cassa 		= 	$("#Docu_Cassa");
    					var SubDirCassa		= 	$("#SubDirCassa");
    					
    					var title 			=   $('#large');
    					
    					
    					new AjaxUpload(btnUpload, {
    						action				: 	'upload-file.php',
    						name				: 	'uploadfile',
    						
    						data				: 	{
    													Docu_Cassa : Docu_Cassa,
    													SubDirCassa : SubDirCassa
    												},
    						
    						onSubmit: function(file, ext){
    						
    							 if (! (ext && /^(jpg|png|jpeg|gif|doc)$/.test(ext))){ 
    								// extension is not allowed 
    								status.text('Only JPG, PNG, GIF or DOC files are allowed');
    								return false;
    							}
    							alert(Docu_Cassa);
    							status.text('Uploading...');
    						},
    						onComplete: function(file, response){
    						
    							//On completion clear the status
    							status.text('');
    							//Add uploaded file to list
    							if(response==="success"){
    								jQuery('[*]').appendTo('#files').html('Preview:
    [img]./uploads/'+file+'[/img]
    '+file).addClass('success');
    							} else{
    								jQuery('[*]').appendTo('#files').text(file).addClass('error');
    							}
    						}
    					});
    					
    				});
    				/*****UPLOAD FILE******/
    nella pagina upload-file.php
    Codice PHP:
    $Docu_Cassa        $_POST['Docu_Cassa'];
    $uploaddir             '../DOC/';

    $file $uploaddir basename($_FILES['uploadfile']['name']); 
     
    if (
    move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) { 
        echo 
    "success";
    } else {
        echo 
    "error";

    Il problema ce l'ho già nello script Ajax, praticamente non mi vede i valori e quindi i nomi della cartella e sottocartella...
    Dov'è che sbaglio?
    Aiutoooooooooooooooooo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.