Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725

    Form - Disabilitare tasto Invio

    Ciao a tutti avrei una richiesta un po particolare, ho un form corredato di tasto Inserisci, se io lo clicco invio il form ed eseguo tutto normalmente, l'unico problema è che durante la compilazione dei campi se premo il tasto invio (tasto della tastiera) il form viene inviato e inserisce i dati parzialmente, ovvero quelli già compilati, come posso fare per via che il form venga inviato solo quando clicco su Inserisci? Oppure come disabilito il tasto invio? Grazie a tutti
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Puoi realizzare una funzione javascript che controlli i campi del form nel momento dell'invio, se ci sono campi vuoti farà apparire un messaggio d'errore e non farà partire il form.

    Esempio
    Codice PHP:
    <head>
    <
    script type="text/javascript">
    <!--
    function 
    checkForm(obj) {
    // verifica che i campi del form di registrazione non siano vuoti
        
    if((document.getElementById("reg").nome.value == "") || (document.getElementById("reg").nome.value == "undefined")) {
            
    alert("Inserire il proprio nome");
            
    document.getElementById("reg").nome.focus();
            return 
    false;
        }
        else if((
    document.getElementById("reg").cognome.value == "") || (document.getElementById("reg").cognome.value == "undefined")) {
            
    alert("Inserire il proprio cognome");
            
    document.getElementById("reg").cognome.focus();
            return 
    false;
        }
        else {
            
    document.getElementById("reg").action "registrazione.php";
            
    document.getElementById("reg").submit();
        }
    }
    //-->
    </script>
    </head>
    <body>
    <form id="reg" method="post">
        <table border="0" width="300">
            <tr>
                <td>Nome:</td>
                <td><input type="text" name="nome"></td>
            </tr>
            <tr>
                <td>Cognome:</td>
                <td><input type="text" name="cognome"></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="button" name="invia" value="Registrati" onClick="checkForm()"></td>
            </tr>
        </table>
    </form>
    </body> 
    Questo form viene inviato solo se tutti e due i campi sono compilati.

  3. #3
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Il problema è che praticamente tutti i campi possono essere lasciati vuoti, posso inserirlo pure solo con un dato, poi tra l'altro si può modificare da un altra pagina ma insistono sul fatto che non va bene che se uno preme invio parta il form

    Lo so che è una cosa normale che il form venga inviato, è la prima volta che mi fanno questa richiesta
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Allora alla fine del form metti un checkbox al quale associ una funzione javascript, se il checkbox è deselezionato (lo crei così di default) il pulsante submit deve essere disabilitato, quando il checkbox viene selezionato, la funzione js attiva il pulsante submit.
    Ovviamente dovrà essere chi compila il form a selezionare il checkbox.

  5. #5
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Originariamente inviato da Alhazred
    Allora alla fine del form metti un checkbox al quale associ una funzione javascript, se il checkbox è deselezionato (lo crei così di default) il pulsante submit deve essere disabilitato, quando il checkbox viene selezionato, la funzione js attiva il pulsante submit.
    Ovviamente dovrà essere chi compila il form a selezionare il checkbox.
    Grazie mille proverò questa soluzione
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  6. #6
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Se ti va bene usare mootools ti consiglio

    http://davidwalsh.name/prevent-early...king-enter-key

  7. #7
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Originariamente inviato da Luke70
    Se ti va bene usare mootools ti consiglio

    http://davidwalsh.name/prevent-early...king-enter-key
    Purtroppo sono ignorante in materia, se basta inserire il tutto tra <script> e <script> allora anche si
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

  8. #8
    Ciao,

    non è questa la sezione corretta, è la sezione Javascript ... li devi postare.

    Ti sposto li.

    PS: dai un occhio anche jQuery
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  9. #9
    Utente di HTML.it L'avatar di Aires
    Registrato dal
    Jan 2010
    Messaggi
    725
    Vorrei informarvi che son riuscito a risolvere in una maniera più rapida, per chi ne avesse bisogno posto la soluzione:

    Basta aggiungere al form: onkeypress="return (event.keyCode!=13)">

    Esempio:
    codice:
    <form action="<?=$_SERVER['PHP_SELF']?>" method="POST" onkeypress="return (event.keyCode!=13)">
    Originariamente inviato da qazar
    Se finisci di leggere il thread mi sono corretto,è solo i kernel scritto in html.
    Originariamente inviato da rnlflame
    Comunque non dovevano crollare

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.