oki, dunque il corpo della pagina che contiene la form è fatto così:
codice:
<body>
<form id="upload" name="upload" action="uploader.php" target="risultati_upload" method="post" enctype="multipart/form-data" >
Seleziona il file da caricare: <input type="file" name="user_file">
</br>
Seleziona la categoria: <select name="tipo" > <option></option> <option value="0">Classifica</option> <option value="1">Bilancio</option> <option value="2">Articolo</option> </select>
</br>
Seleziona la società: <select name="societa"> <option></option> <?php $query="select id,rag_sociale from societa"; $query = mysql_query($query); while($row = mysql_fetch_array($query)){ echo "<option value='$row[id]'>".$row['rag_sociale']."</option>"; } ?> </select>
</br>
Seleziona l'anno: <input type="text" name="anno"></input>
</br>
<input type="button" value="invia" onclick="control_form_upload();"></input>
<input type="reset" value="cancella"></input> </form>
<iframe style='visibility:hidden' height='50px' width='100px' name='risultati_upload' scrolling='NO' frameborder='0' id='iframe_upload'></iframe> </body>
L'eventuale submit è fatto dalla funzione control_form_upload(), che prima controlla la validità dei campi ed è fatta così:
codice:
function control_upload_form(){
//rendo visibile l'iframe che conterrà l'esito del caricamento
$("#iframe_upload").html("x");
$("#iframe_upload").css({"visibility":"visible"});
//dichiaro alcune variabili utili
var data=new Date();
var anno=data.getFullYear();
var flag=0;
// la scelta del file è obbligatoria
if($("#upload :input[name='user_file']").val()=="") { alert("File non selezionato"); flag=1; }
//controlli sul campo anno: dev'essere un numero,positivo,di quattro cifre, e non superare l'anno corrente
else if(isNaN($("#upload :input[name='anno']").val())){
alert("Attenzione: il campo anno dev'essere un valore numerico"); flag=1; }
else if($("#upload :input[name='anno']").val()<=0) {
alert("Attenzione: il campo anno dev'essere un numero positivo"); flag=1; }
else if($("#upload :input[name='anno']").val().length!=4){
alert("Il campo anno dev'essere composto da quattro cifre"); flag=1; }
else if($("#upload :input[name='anno']").val()>anno){
alert("Attenzione:non si può inserire un anno superiore al corrente"); flag=1; }
//superati i controlli dà l'ok all'invio
if(flag==0){ //$("#upload").submit(); } }
Per quanto riguarda la pagina che viene chiamata è una pagina in php:
codice:
//controllo se il file è un pdf
if($_FILES["user_file"]["type"]!="application/pdf")
echo "Attenzione: è possibile caricare solo file pdf";
else{
$uploaddir='uploads/' ; //cartella in cui si caricano i file
$uploadfile=$uploaddir.basename($_FILES['user_file']['name']); //nella variabile c'è il nome originario del file dell'utente
if(move_uploaded_file($_FILES['user_file']['tmp_name'],$uploadfile)){
echo "File caricato correttamente";
echo "<input type='button' value='ok' onclick='pulisci_iframe();'>"; }
else{ echo "Problema durante l'upload"; } }
spero non sia troppo incasinato :P grazie