Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    92

    form con controllo dei campi vuoti

    Dovrei fare un form che controlli che un campo non sia vuoto:

    function check()
    {
    if (document.myform.nome.value.length==0)
    {alert("Inserire il Nome");
    document.myform.nome.focus();
    }}


    se chiamo una funzione del tipo tramite l'onclick del tasto di submit riesco a verificare ciò, ma avviene comunque il link alla pagina scelta. Come devo fare a bloccare il link alla pagina seguente finchè il campo non sia pieno?

  2. #2

    Re: form con controllo dei campi vuoti

    Originariamente inviato da Wezen
    se chiamo una funzione del tipo tramite l'onclick del tasto di submit riesco a verificare ciò, ma avviene comunque il link alla pagina scelta. Come devo fare a bloccare il link alla pagina seguente finchè il campo non sia pieno?
    Guarda, probabilmente nel forum sul JS trovi più risposte...
    Forse ti ci vuole un comando per "stoppare" il tutto... (in php ad esempio c'è exit(); ) da mettere dopo l'alert per non far andare avanti la procedura...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  3. #3

    Re: Re: form con controllo dei campi vuoti

    Originariamente inviato da ricman
    Guarda, probabilmente nel forum sul JS trovi più risposte...
    Forse ti ci vuole un comando per "stoppare" il tutto... (in php ad esempio c'è exit(); ) da mettere dopo l'alert per non far andare avanti la procedura...
    Non sono ferrato sul JS... spero almeno di averti dato degli spunti
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  4. #4
    Utente bannato
    Registrato dal
    Jun 2007
    Messaggi
    572
    Il principio dovrebbe essere che al "submit" devi forzare una specie di check inserendo
    onClick="contollacampi()"

    cosè "controllacampi"?
    e uno script che crei per verificare la funzionalità dei campi, in cui impostando opportune variabili hai la gestione del controllo di uno specifico campo.

    per esempio se vogliamo controllare che un campo dove si inserisce un nome sia stato scritto
    (nel form , sia il form che tutti i campi o almeno quelli interessati devo avere un NOME )
    codice:
    <form name="doc">
    <input type="text" name="nome">
    e lo script
    codice:
    <script>
    function controllacampi() {
    var varnome = document.doc.nome.value;
    
    var ErroreMsg = "Attenzione: manca \n";     // messaggio di errore
    var Errore = false;     // error flag
    
    if ( varnome == "" ) {      
    //campo nome 
    ErroreMsg = ErroreMsg + "Nome.\n";
    Errore = true;
        }
    
    //e alla fine del controllo
    
    if ( Errore ) {    alert( ErroreMsg );  } 
    else {    submit(this);
      }
    
    </script>
    quanto detto è un esempio legato ad un imput testuale, poi si possono far dei controlli sulle date sulle e-mail o su altri tipi di form tipo "radio" , costruendo sempre opportunamente un controllo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    92
    Ok Max1 ho fatto come hai detto,ma non sembra funzionare


    <script>
    function controllacampi() {
    var varnome = document.doc.nome.value;
    var ErroreMsg = "Attenzione: manca \n";
    var Errore = false;

    if ( varnome == "" ) {
    ErroreMsg = ErroreMsg + "Nome.\n";
    Errore = true;
    }

    if ( Errore ) { alert( ErroreMsg ); }
    else { submit(this);
    }}

    </script>

    <HTML>

    <BODY>
    <FORM name=doc method=POST action="esempio.html" enctype="text/plain">
    <INPUT type="text" name="nome">
    <INPUT type="submit" name="" value="Button" onClick="controllacampi() ">
    </FORM>

    </BODY>
    </HTML>



    In pratica quando clicco chiama la funzione, compare l'alert e mi invia alla pagina dopo.
    Non volevo che mi inviasse alla pag dopo con il campo vuoto

  6. #6
    Moderatrice di Grafica, Cerco e offro lavoro L'avatar di Myaku
    Registrato dal
    Nov 2006
    Messaggi
    10,349
    usa

    return false;

    sulla condizione if, come ultima istruzione del tuo primo codice

    Cyà

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    92


    continua a non andare , il programma entra nell'if, mi stampa l'alert e invia all'altra pagina!

    <script>
    function check()
    {
    if (document.doc.nome.value.length==0)
    {alert("Inserire il Nome");
    document.doc.nome.focus();
    return false;
    }}

    </script>

    <HTML>

    <BODY>
    <FORM name=doc method=POST action="esempio.html" enctype="text/plain">
    <INPUT type="text" name="nome">
    <INPUT type="submit" name="" value="Button" onClick="check() ">
    </FORM>

    </BODY>
    </HTML>

  8. #8
    Moderatrice di Grafica, Cerco e offro lavoro L'avatar di Myaku
    Registrato dal
    Nov 2006
    Messaggi
    10,349
    facciamo un passo indietro.

    qual'è il codice completo del controllo js?
    quale DTD stai usando sul tuo documento html?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    92
    Questa è una pagina di netbeans e il codice completo js è come quello già postato
    con il termine dtd non capisco bene cosa tu intenda :master:
    La pagina a cui questa linka è una semplice pagina con una scritta, ma non credo che questo, possa essere utile.

    La stessa pagina qui postata ho provato a eseguirla anche senza l'ausilio di netbeans, ma il risultato non cambia. é come se non funzionasse il return false ma richiedesse qualcosa di più specifico...

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

    <HTML>
    <head>

    <script language="JavaScript">
    function check()
    {
    if (document.doc.nome.value.length==0)
    {alert("Inserire il Nome");
    document.doc.nome.focus();
    return false;
    }}
    </script>

    </head>
    <BODY>
    <FORM name=doc method=POST action="esempio.html" enctype="text/plain">
    <INPUT type="text" name="nome">
    <INPUT type="submit" name="" value="Button" onClick="check() ">
    </FORM>

    </BODY>
    </HTML>

  10. #10
    Moderatrice di Grafica, Cerco e offro lavoro L'avatar di Myaku
    Registrato dal
    Nov 2006
    Messaggi
    10,349
    nella funzione specifica anche l'else.

    Ora sono un po' impicciata, ma se cerchi in rete questo script si trova facilmente. Al massimo, se sei proprio in difficoltà e non hai trovato aiuto supplementare, ne riparliamo stasera che ho un po' più di tempo.

    Occhio comunque al markup, fai che sia almeno validato


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.