Non riesco ad associare del codice javascript all'evento submit di una form, sia che esso sia nel tag:
Quale è il problema<form action="/cgi-bin/script.cgi" method="POST" onsubmit="alert("goodbye");">
Non riesco ad associare del codice javascript all'evento submit di una form, sia che esso sia nel tag:
Quale è il problema<form action="/cgi-bin/script.cgi" method="POST" onsubmit="alert("goodbye");">
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.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" />
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:
Io voglio fare uno script javascript che controlla se i valori dei campi delle email e delle password sono uguali, e se si<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>
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?
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>
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.
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>