Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    onkeyup funziona solo su un campo

    Questi 2 campi obbligatori fanno uscire l'alert se il campo è vuoto e clicco Invia.

    Il problema è che se dopo l'alert digito nel campo Nome, l'alert scatta al campo Messaggio

    Codice PHP:
    <script>
    function 
    controllaG() {
    var 
    document.forms.mioformG;
    //.value == "" rende il campo obbligatorio, anche lo spazio bianco iniziale fa uscire l'alert
    if(f.nome.value == "") { 
    document.getElementById('nomex').innerHTML "Inserire il Nome";
    f.nome.focus();
    return 
    false;
    }
    else {
    document.getElementById('nomex').innerHTML "";
    }
    //(Campo obbligatorio)
    if(f.messaggio.value == "") { 
    document.getElementById('messaggiox').innerHTML "Inserire il Messaggio";
    f.messaggio.focus();
    return 
    false;
    }
    else {
    document.getElementById('messaggiox').innerHTML "";
    }
    return 
    true;
    }
    </script>


    </head>

    <body> 
            
    <form method="post" name="mioformG" id="mioF" action="ins.php" onsubmit="return(controllaG());">
    NOME * <input  type="text" name="nome" onkeyup="controllaG()" /><span id="nomex"></span>




    MESSAGGIO *<input type="text" name="messaggio" onkeyup="controllaG()" /><span id="messaggiox"></span>
     

    <button type="submit" name="send" id="submit">Invia</button>   
      
      </form> 

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Sei tu che dopo l'esame del primo campo esci in caso di errore senza esaminare il secondo...

    metti il risultato in una variabile e trasmettila solo alla fine:
    codice:
    function controllaG() { 
    	var f = document.forms.mioformG; 
    	var rv = true;
    
    	document.getElementById('nomex').innerHTML = ""; 
    	document.getElementById('messaggiox').innerHTML = ""; 
    
    	if(f.nome.value == "") {  
    		document.getElementById('nomex').innerHTML = "Inserire il Nome"; 
    		f.nome.focus(); 
    		rv = false; 
    	} 
    
    	if(f.messaggio.value == "") {  
    		document.getElementById('messaggiox').innerHTML = "Inserire il Messaggio"; 
    		f.messaggio.focus(); 
    		rv = false; 
    	} 
    
    	return rv; 
    }
    ps: abituati ad indentare il codice: lo capisci meglio tu ed anche noi...
    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
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Che vuol dire indentare?

    Non riesco a farlo funzionare, forse è questa parte che non è corretta


    Codice PHP:
    <form method="post" name="mioformG" id="mioF" action="ins.php" onsubmit="return(controllaG));">
    NOME * <input  type="text" name="nome" onkeyup="controllaG()" /><span id="nomex"></span>




    MESSAGGIO *<input type="text" name="messaggio" onkeyup="controllaG()" /><span id="messaggiox"></span>
     

    <
    button type="submit" name="send" id="submit">Invia</button
    Io sono riuscito a farlo funzionare con questo, che dici qual'è quello che va meglio?

    Codice PHP:
    function contaNome() {
    var 
    document.forms.mioformG;
    //.value == "" rende il campo obbligatorio, anche lo spazio bianco iniziale fa uscire l'alert
    if(f.nome.value == "") { 
    document.getElementById('nomex').innerHTML "Inserire il Nome";
    f.nome.focus();
    return 
    false;
    }
    else {
    document.getElementById('nomex').innerHTML "";
    }
    return 
    true;
    }
    //(Campo obbligatorio)
    function contaMessaggio() {
    var 
    document.forms.mioformG;
    if(
    f.messaggio.value == "") { 
    document.getElementById('messaggiox').innerHTML "Inserire il Messaggio";
    f.messaggio.focus();
    return 
    false;
    }
    else {
    document.getElementById('messaggiox').innerHTML "";
    }
    return 
    true;


  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Senti, fai quello che ritieni piu' opportuno, io la mia buona volonta' ce l'ho messa tutta
    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
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da br1
    Senti, fai quello che ritieni piu' opportuno, io la mia buona volonta' ce l'ho messa tutta
    Devi metterti nei panni anche di chi sa poco, se non mi spieghi...

  6. #6

  7. #7
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da Vindav
    http://it.wikipedia.org/wiki/Indentazione
    Ho visto, il form sembra a posto, se vuoi controllare Sito

    Cè ancora una cosa che non so aggiustare: quando digito una mail o un url sbagliati nei rispettivi campi, esce l'alert, però se dopo li scrivo giusti l'alert non va via coma fanno gli altri campi, va via se clicco su invia.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    c'è qualche errore nelle funzioni che vengono richiamate al onkeyup, nel metodo che controlla la mail per esempio devi aggiungere l'else:

    codice:
    function emailCampoG() {
    var f = document.forms.mioformG;
    if (f.suoemail.value.length != 0) { 
    var reg = new RegExp("^((.*)[@](.*)[.][a-z]{2,6})$");                                  
    if (!f.suoemail.value.match(reg)) { 
    f.suoemail.style.borderColor='black'                                                                                                     
    f.suoemail.style.backgroundColor='#d8ecff'
    document.getElementById('emailx1').innerHTML = "Inserire una Mail valida";
    f.suoemail.focus();
    return false;
    }else{
    document.getElementById('emailx1').innerHTML = "";
    }  
    } else {
    document.getElementById('emailx1').innerHTML = "";
    }
    return true;
    }
    p.s. non chiamare i messaggi di avviso 'alert', perche non lo sono confondi solo le idee

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da Ht28
    Devi metterti nei panni anche di chi sa poco, se non mi spieghi...
    Devi metterti nei panni del forum, se non ti applichi studiano il javascript, ma continuando ad usare il forum tipo help-desk è ovvio che alla lunga la gente si scoraggia e ti "abbandona" Auguri.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da Vindav
    c'è qualche errore nelle funzioni che vengono richiamate al onkeyup, nel metodo che controlla la mail per esempio devi aggiungere l'else:

    codice:
    function emailCampoG() {
    var f = document.forms.mioformG;
    if (f.suoemail.value.length != 0) { 
    var reg = new RegExp("^((.*)[@](.*)[.][a-z]{2,6})$");                                  
    if (!f.suoemail.value.match(reg)) { 
    f.suoemail.style.borderColor='black'                                                                                                     
    f.suoemail.style.backgroundColor='#d8ecff'
    document.getElementById('emailx1').innerHTML = "Inserire una Mail valida";
    f.suoemail.focus();
    return false;
    }else{
    document.getElementById('emailx1').innerHTML = "";
    }  
    } else {
    document.getElementById('emailx1').innerHTML = "";
    }
    return true;
    }
    p.s. non chiamare i messaggi di avviso 'alert', perche non lo sono confondi solo le idee
    Gi devo mettere è else?

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.