Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Disabilita invio form da tasto INVIO

    è possibile disabilitare l'invio del form con il tasto INVIO, in modo tale che l'utente sia costretto a cliccare sul bottone SUBMIT per confermare?

    vi spiego perchè: in questo modo posso validare i campi con onBlur, senza rischiare che nell'ultimo campo l'utente, cliccando su INVIA, non provocando l'evento onBlur, mi eluda la validazione.

    Grazie a chi mi risponderà!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Generalmente i campi si convalidano all'evento onSubmit del tag <form> che scatta anche se l'invio avviene tramite tasti.
    Altrimenti rendi la pagina di piu` difficile accessibilita`.

    Se proprio vuoi puoi catturare l'evento della tastiera... ma ti complichi la vita di parecchio (vedi alcuni link tra i post in rilievo).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3

    Il problema è che...

    ogni elemento input ha un attributo onBlur="ctrlVal(x,y)" dove X e Y sono valori generati dinamicamente (ASP). quindi il modo più diretto per effettuare la validazione passo-passo è onBlur.
    da onSubmit non credo sia possibile dato che i valori sono legati inscindibilmente al tag input.

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ho il sospetto che questa sia la prosecuzione di un'altra discussione ...

    Comunque puoi sostituire il pulsante di submit con un button:

    <input type=button value="Invia" onclick="this.form.submit();">

    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

    Grazie!

    cmq il tuo sospetto era esatto!

  6. #6

    Non funziona...

    nel senso che cliccando su INVIO nell'ultimo campo del form procede all'invio del form senza farmi la validazione (funzione lanciata dall'evento onBlur), dovrò lavorare sulla gestione degli eventi, nel tal caso la pressione del tasto invio.
    grazie comunque!

  7. #7
    Utente di HTML.it L'avatar di P75
    Registrato dal
    Jul 2001
    Messaggi
    41
    Prova con questo:
    codice:
    <script language="JavaScript">
    
    function stopInvio(evento)
    {
    if((evento.keyCode == 13)||(evento.which==13))
      return false;
    else
      return true;
    }
    
    function controlloCampo(campo)
    {
    alert (campo);
    }
    </script>
    
    <form name="form1" method="get" action="pino.htm">
    
    <input type="text" name="textfield1" 
    onKeyPress="return stopInvio(event)" 
    onBlur="controlloCampo(document.form1.textfield1.value)">
    
    <input type="text" name="textfield2" 
    onKeyPress="return stopInvio(event)" 
    onBlur="controlloCampo(document.form1.textfield2.value)">
    
    <input type="text" name="textfield3" 
    onKeyPress="return stopInvio(event)" 
    onBlur="controlloCampo(document.form1.textfield3.value)">
    
    <input type="submit" name="Submit" value="Submit">
    </form>

    Dovrebbe funzionare! :gren: :gren: :gren:

    P75

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.