Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    controllo su campo file,come fare?

    ciao a tutti, vorrei convalidare un modulo di registrazione contenente anche un campo file. questo,vorrei, potesse caricare solo foto di estensione .jpg. Mentre la convalida dei vari campi text e select riesco a farla, quella del campo file..non ho idea di come farla.
    il controllo lo faccio rikiamando la funzione validateRegistrazione ke mi sono creato (con non poke difficoltà date le mie scarse conoscenze in js) ora come faccio x il campo file?
    ho cercato un po sul forum ma non mi funzionano gli esempi.. :master:

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Posta il form e la funzione che usi, vediamo di adattarla

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    grazie! l'ho po alleggerito il codice x'era troppo lungo...
    codice:
    ...
    <form name="registrazione"> <tr>
        <td>[img]img/username.gif[/img]</td>
        <td align="right"><input style="width: 296px" type="text"   id="username" size="22" name="username"></td>
      </tr>
       <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/password.gif[/img]</td>
        <td align="right"><input style="width: 296px" type="password"  id="password" size="22" name="password"></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/email.gif[/img]</td>
        <td align="right"><input style="width: 296px" type="text"   id="email_address" size="22" name="email_address"></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/nazione.gif[/img]</td>
        <td align="right"><select style="width: 302px" onchange="nazione_onChangeRegistrazione()" name="nazione">
    	<option value="">scegli la nazione</option>	
    </select></td>
      </tr>
      <tr>
        <td colspan="2" height="2">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
     <tr>
        <td>[img]img/provincia.gif[/img]</td>
        <td align="right"><select style="width: 302px"  name="provincia"><option>scegli la provincia</option>
    	</select></td>
      </tr>
      <tr>
        <td colspan="2" height="2">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
       <tr>
        <td>[img]img/localita.gif[/img]</td>
        <td align="right"><input style="width: 296px" type="text"   id="localita" size="22" name="localita"></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/newsletter.gif[/img]</td>
        <td align="right"><table border="0" cellspacing="0" cellpadding="0"><tr>
          <td>
                    <input id="newsletter" type="radio" name="newsletter" value="si" checked>
                                    si
                                </td>
                                <td>
                                  <input id="newsletter" type="radio" name="newsletter"  value="no">
                                  no</td>
                              </tr></table></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/nome.gif[/img]</td>
        <td align="right"><input style="width: 296px" type="text" size="22" name="nome"></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/sesso.gif[/img]</td>
        <td align="right"><table border="0" cellspacing="0" cellpadding="0"><tr>
          <td>
                    <input id="sesso" type="radio" name="sesso" value="maschio">
                                    maschio
                                </td>
                                <td>
                                  <input id="sesso" type="radio" name="sesso"  value="femmina">
                                  femmina</td>
                              </tr></table></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td>[img]img/foto.gif[/img]</td>
        <td align="right"><input style="width: 302px" type="file" id="foto" size="22" name="foto"></td>
      </tr>
      <tr>
        <td colspan="2" height="1">[img]img/pixel_trasparente.gif[/img]</td>
      </tr>
      <tr>
        <td colspan="2" height="1" align="right">(<font color="#FF0000">Importante!</font> Ammesse solo foto .jpg)</td>
      </tr>
    ...</form>
    e qui c'è la funzione js
    codice:
    function validateRegistrazione() {
    
    
    // nick
    			if (document.registrazione.username.value == "") {
    				alert("Inserisci il tuo nickname! E' obbligatorio!");
    				document.registrazione.username.focus();
    				document.registrazione.username.select();
    				return false;
    			}	
    // password
    			if (document.registrazione.password.value == "") {
    				alert("Devi scegliere una password. E' obbligatorio!");
    				document.registrazione.password.focus();
    				document.registrazione.password.select();
    				return false;
    			}	
    // email
    			switch (isEmail(document.registrazione.email_address)) {
    				case "VUOTO":
    					alert("Inserisci tuo indirizzo email");
    					document.registrazione.email_address.focus();
    					document.registrazione.email_address.select();
    					return false;
    					break;
    				case "ERRATO":
    					alert("L'email non sembra essere valida. Devi inserire un indirizzo valido altrimenti non potrai recuperare la password se la perderai!");
    					document.registrazione.email_address.focus();
    					document.registrazione.email_address.select();
    					return false;
    					break;
    				case "OK":
    					break;
    			}
    // nazione
    			if (document.registrazione.nazione.value == "") {
    				alert("Scegli la nazione.");
    				document.registrazione.nazione.focus();
    				return false;
    			}	
    // località
    			if (document.registrazione.localita.value == "") {
    				alert("Indica la città o la località da dove digiti.");
    				document.registrazione.localita.focus();
    				document.registrazione.localita.select();
    				return false;
    			}	
    // provincia
    			if (document.registrazione.provincia.value == "") {
    				alert("Scegli la provincia da dove digiti.");
    				document.registrazione.provincia.focus();
    				return false;
    			}	
    
    
    // consenso
    			if (document.registrazione.radio2.checked) {
    				alert("Non accettando non ti sarà possibile completare la tua registrazione sul sito.");
    				document.registrazione.radio1.focus();
    				document.registrazione.radio1.select();
    				return false;
    			}
    
    			// tutto ok
    			else return true;
    		}

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non vedo come e quando richiami lo script... :master:

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5

    Prova un po'

    filename = document.registrazione.foto.value ;
    stringadivisa = filename.split(".");
    ultimovalorearray = stringadivisa.lenght

    alert(stringadivisa[ultimovalorearray - 1]) //così lo vedi

    if (stringadivisa[ultimovalorearray - 1] != "jpg") {
    return false;
    }


    Prova un po' .

    Se non andasse prova a mettere la condizione if così:

    if (stringadivisa[ultimovalorearray] != "jpg") {
    return false;
    }


    Ciao........

  6. #6
    Originariamente inviato da br1
    Non vedo come e quando richiami lo script... :master:

    ciao
    scusa lo script lo rikiamo così
    codice:
    <input type="image" onclick="return validateRegistrazione();" title="registrati alla community" src="img/freccia_pulsante_rossa.gif">

  7. #7

    Re: Prova un po'

    Originariamente inviato da Anan79
    filename = document.registrazione.foto.value ;
    stringadivisa = filename.split(".");
    ultimovalorearray = stringadivisa.lenght

    alert(stringadivisa[ultimovalorearray - 1]) //così lo vedi

    if (stringadivisa[ultimovalorearray - 1] != "jpg") {
    return false;
    }


    Prova un po' .

    Se non andasse prova a mettere la condizione if così:

    if (stringadivisa[ultimovalorearray] != "jpg") {
    return false;
    }


    Ciao........
    ho provato a fare come suggerisci solamente ke mi viene un messaggio di avviso con scritto "Undefined" sia ke il campo sia vuoto sia ke ci sia realmente il percorso x un'immagine .jpg

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Assegnare una funzione all'evento onclick del tasto submit (o image) di un form non e' affidabile... meglio associarlo all'evento onsubmit del form stesso.

    <form ... onsubmit="return validateRegistrazione();">

    nello script aggiungi:
    codice:
    // file
    	ft = document.registrazione.foto;
    	if (ft.value.substr(ft.value.lastIndexOf(".")).toLowerCase != ".jpg") {
    		alert("File non permesso!");
    		ft.focus();
    		return false;
    	}
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    ok ti ringrazio..ma..come mai non è affidabile meterlo sul pulsante?crea dei problemi con qualche browser?..x curiosità!

  10. #10
    Originariamente inviato da br1
    Assegnare una funzione all'evento onclick del tasto submit (o image) di un form non e' affidabile... meglio associarlo all'evento onsubmit del form stesso.

    <form ... onsubmit="return validateRegistrazione();">

    nello script aggiungi:
    codice:
    // file
    	ft = document.registrazione.foto;
    	if (ft.value.substr(ft.value.lastIndexOf(".")).toLowerCase != ".jpg") {
    		alert("File non permesso!");
    		ft.focus();
    		return false;
    	}
    ciao
    ho provato ma anke se il file è .jpg mi dice errore! e cmq non vorrei ke fosse un campo obbligatorio, vorrei ke se lo si riempie debba essere x un'immagine .jpg solo. :master:

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.