2015-11-09 27 views
5
function chkFile(file1) { 
    var file = file1.files[0]; 
    var formData = new FormData(); 
    formData.append('formData', file); 

    $.ajax({ 
    type: "POST", 
    url: "chkFileType.php",  
    contentType: false, 
    processData: false, 
    data: formData, 
    success: function (data) { 
     alert(data); 
     } 
    }); 
} 


<form action="" method="post" name="myForm" id="myForm" enctype="multipart/form-data"> 

<input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 

Upload Files 
<input type="file" name="uploadFile" id="uploadFile" onChange="chkFile(this)"/> 

<input type="submit" name="submitbutt" value="Checkout"> 

chkFileType.phpPHP per Ajax utilizzando onchange

<?php 
    print_r($_FILE) 
?> 

Voglio creare una forma che, quando l'utente carica un file, lo farà un controllo sul file caricato prima di inviare l'intero modulo. Io uso onChange quando un file viene caricato e quindi passare il valore formData ad Ajax per chiamare il mio chkFileType.php per fare i controlli e avvisare la risposta.

La funzione è in esecuzione senza errori, ma nessuna risposta da alert(data);

So che sto facendo qualcosa di sbagliato, ma non ho idea di quale direzione andare. Sto facendo la strada giusta?

+3

puoi aggiungere il contenuto di 'chkFileType.php' ?? –

+0

stai ricevendo un messaggio null in allerta o nessuna casella di avviso? Se stai ricevendo un messaggio null, c'è un problema con il tuo chkFileType.php –

+0

ciao ho aggiunto il contenuto di chkFileType.php. Non ricevo alcun avviso (dati) dalla funzione di successo. –

risposta

2

Tutto sembra a posto. Hai fatto nel modo giusto. Ma per ottenere qualsiasi risposta da una chiamata Ajax, è necessario stampare le cose richieste in chkFileType.php.

Come,

if($ext =="jpg" || $ext == "png"){ 
    echo "Image"; // data in alert will alert as Image 
} else if(check for txt file){ 
    echo "Text File"; // data in alert will alert as Text File 
} else if(chck for pdf) { 
    echo "Pdf";// data in alert will alert as Pdf 
} 

EDIT cambiamento questo

var formData = new FormData($("#formID")[0]); 

Spero che tu capisca quello che volevo dire.

+0

oops Ho dimenticato di mostrare il mio chkFileType.php. Sì, ho messo i codici di eco –

+0

il suo funzionamento r ancora lo stesso problema ?? –

+0

intendevo dire che ho aggiunto i codici eco, ma nessuna risposta in caso di avviso (dati); –

Problemi correlati