Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    79

    problemi sull'evento onsubmit

    Non riesco ad associare del codice javascript all'evento submit di una form, sia che esso sia nel tag:

    <form action="/cgi-bin/script.cgi" method="POST" onsubmit="alert("goodbye");">
    Quale è il problema

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    che forse il submit viene scatenato via javascript
    es: <input type="button" value="invia" onclick="this.form.submit()" />
    piuttosto che dal click su elementi che naturalmente scatenano il submit
    es: <input type="submit" value="invia" />

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    79
    che forse il submit viene scatenato via javascript es: <input type="button" value="invia" onclick="this.form.submit()" /> piuttosto che dal click su elementi che naturalmente scatenano il submit es: <input type="submit" value="invia" />
    No scusami ma non ho capito.
    Il problema è che quel form sul submit attiva uno script cgi, ma contemporaneamente io voglio anche attivare una finestra di alert tramite un evento javascript.
    In realtà il form iniziale per intero è il seguente:
    <form action="/cgi-bin/registration.cgi" method="POST">
    <fieldset>
    <legend>Fill up cells to creating your account</legend>

    <label>First Name: <input type="text" name="fname"></label>


    <label>Last Name: <input type="text" name="lname"></label>


    <label>Email: <input id="email" type="text" name="email"></label>


    <label>Re-enter email: <input id="email2" type="text" name="email2"></label>


    <label>Password: <input type="password" name="password"></label>


    <label>Re-enter password: <input type="password" name="password2"></label>




    <input type="submit" align="right" value="submit"></label>


    <script type="text/javascript">
    function control() {
    var email = getElementById("email");
    alert(email.nodeValue);
    }
    document.onsubmit = control();
    </script>
    </fieldset>
    </form>
    Io voglio fare uno script javascript che controlla se i valori dei campi delle email e delle password sono uguali, e se si
    invia fa partire lo script cgi, altrimenti dà un alert con il messaggio appropriato.
    Ovviamente quel codice javascript in fondo al form è solo del codice inziale, il problema è che non viene visualizzata neppure la finestra di alert sull'evento submit...

    Come si può fare?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma e' scritto tirando ad indovinare...
    prova con
    codice:
    <script type="text/javascript">
    function control(f) {
    var email = document.getElementById("email");
    alert(email.value);
    return false; // se non devi inviare il form
    }
    document.forms[0].onsubmit = function(){return control(this)}; // 0 se e' il primo form del documento
    </script>

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    79
    Purtroppo sto ancora imparando, ho letto le guide online su javascript e DOM presenti su questo sito,
    ma non ho trovato la dicitura document.forms[] se non sbaglio.

    Comunque la finestra di alert non appare, mentre invece lo script cgi parte lo stesso.

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quanto ti ho suggerito funziona

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    79
    Sul mio pc non funziona, parte solo lo script cgi in una nuova pagina bianca.
    Il mio codice è:
    <form action="/cgi-bin/script.cgi" method="POST">
    <fieldset>
    <legend>Fill up cells to creating your account</legend>

    <label>First Name: <input type="text" name="fname"></label>


    <label>Last Name: <input type="text" name="lname"></label>


    <label>Email: <input id="email" type="text" name="email"></label>


    <label>Re-enter email: <input id="email2" type="text" name="email2"></label>


    <label>Password: <input type="password" name="password"></label>


    <label>Re-enter password: <input type="password" name="password2"></label>




    <input type="submit" align="right" value="register"></label>


    <script type="text/javascript">
    function control(f) {
    var email = document.getElementById("email");
    alert(email.value);
    return false; // se non devi inviare il form
    }
    document.forms[0].onsubmit = function(){return control(this)}; // 0 se e' il primo form del documento
    </script>
    </fieldset>
    </form>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.