La pagina è una sola.
Contiene il form e lo invia con Submitted.
Il controllo del campo CampoAllegato deve essere fatto qui prima di far intervenire il codice UPLOAD.
La pagina è una sola.
Contiene il form e lo invia con Submitted.
Il controllo del campo CampoAllegato deve essere fatto qui prima di far intervenire il codice UPLOAD.
grario
Mi faresti vedere il tutto il codice della pagina compreso l'html che contiene il form ?
Quell'errore avviene, se non erro, quando non c'è alcun file da uppare...
... codice di upload e form sono nella stessa pagina?
Ti da l'errore quando chiami la pagina direttamente o dopo aver fatto submit?
Riassumiamo:
Con questo codice di UPLOAD non dà nessun errore, ma invia sempre anche se il campo è vuoto.
In questo modo però l'utente non sa se effettivamente è stato inviato il file.
Io voglio bloccare l'azione di upload e avvisare l'utente quando il campo CampoAllegato del form è vuoto.
Avevo già pensato ad un Js di Back e cosi ho inserito questo controllo js che normalmente negli altri form funziona.
Quando richiamo la pagina direttamente non dà errore perchè c'è il controllo IF di submitted, ma quando invio
mi da errore. E' come se la Request fosse sempre vuota. Forse devo inserire una Request.Form?
grario
Ma la form ha la proprietà enctype="multipart/form-data" ?
Io pensavo ad una cosa del genere:
tra i tag head
e poi il form:codice:<script language="JavaScript"> function controllo(){ with(document.modulo) { if(file.value=="") { alert("Errore: selezionare un file !"); file.focus(); return false; } } alert("Controllo effettuato con successo. Il modulo sarà inviato."); return true; } </script>
codice:<form action="" method="post" enctype="multipart/form-data" name="modulo" id="modulo" onSubmit="return controllo();"> <label> <input type="file" name="file" /> </label> <label> <input type="submit" name="Submit" value="Invia" /> </label> </form>
si questa la riga del form:Originariamente inviato da Mems
Ma la form ha la proprietà enctype="multipart/form-data" ?
<FORM ACTION='<%=nomepagina%>.asp?submitted=true&artt=<% =Application("ida")%>' name="invioallegati" METHOD="post" enctype="multipart/form-data">
@ alexba64
sono d'accordo con te. ma in questo caso devo inserire il codice UPLOAD, dopo lo script di js altrimenti mi da errore.
Proverò, e faccio sapere.
grario
Ho fatto tutte le prove possibili con i codici js. Ho provato anche altri che avevo già io ma non funziona. Se invio con il campo vuoto, non da errore ma invia lo stesso, ovviamente niente.
Allora ho provato a sfruttare il comando GetFileName e tramite if-then se è vuoto non invia il file e avvisa l'utente.
Questo il codice
codice:Dim oUpload Set oUpload = new cUpload oUpload.AutoRename = False oUpload.Overwrite = true 'oUpload.SetPath "." '--salva nella root principale oUpload.SetPath "download" '--cartella di salva oUpload.Upload '--recupera il nome del file inviato Nomefile = oUpload.GetFileName() '--verifica se il campo inviato è vuoto If nomefile <> "" then oUpload.Save avviso="Il file è stato inviato" else avviso="Il file NON è stato inviato perchè il campo è vuoto" End if Set oUpload=Nothing Response.write avviso
grario
L'importante è risolvere.![]()
Certo. Con il vostro aiuto, insieme si pensa meglio. Grazie.
grario