-
Errore javascript 1.2
ho creato una rubrica online per ricordare numeri di telefono, e-mail, nomi ecc. :lol:
è ancora infase di costruzione...
ho avuto un problema con il javascript 1.2
Codice HTML:
<html>
<head>
<title><?php echo "Aggiungi record" ?></title>
</head>
<body>
<table>
<form method="post" name="form">
<tr><td>Nome</td>
<td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
<tr><td>Cognome</td>
<td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
<tr><td>Azienda</td>
<td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>
<tr><td>Ruolo</td>
<td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>
<tr><td>E-mail</td>
<td><input type="text" name="email" size="20" maxlength="20"></td></tr>
<tr><td>Telefono</td>
<td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>
<tr><td>Cellulare</td>
<td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>
<tr><td colspan="2"><input type="submit" value="Inserisci" onClick="sendOff();"></td></tr>
<script language="JavaScript1.2">
var good;
function checkEmailAddress(field) {
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.it)|(\.bz)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail){
good = true
} else {
alert('Inserisci una mail valida')
field.focus()
field.select()
good = false
}
}
function sendOff(){
nmcheck = document.form.nome.value
if (nmcheck.length <1) {
alert('Inserisci il nome')
return
}
}
function go(){
if(good=true){
location.href="add.php"
return
}
}
</script>
</form>
</table>
<a href="record.php">Guarda i record</a>
</body>
</html>
questo "dovrebbe" scrivere un messaggio di errore se non c'è il nome e lo stesso per la mail...se per esempio si scrive nel form
ciao.ciao.tiscali.it
ti dice: inserisci una valida e-mail
ma il problema sta che se per esempio è tutto giusto non funziona il location.href!!
Ciao
-
Ma la funzione go() quand'è che la richiami?
-
Già, stesso vale per la funzione di validazione email che non viene interpellata.
Ma soprattutto, l'errore maggiore è che i dati del form vanno inviati tramite un form.submit allo script add.php, quindi anche chiamando la function go (comunque contenente errori) non si ottengono i dati.
Quindi, piuttosto che un onclick sul bottone submit consiglio di usare l'evento onsubmit sul form, che se passa i controlli va dritto a passare i dati allo script add.php, altrimenti, se la validazione (per ora nome e email) non passa, ritornare un "false" al gestore d'evento onsubmit blocca il naturale processo di submit e si rimane in pagina a correggere i dati inseriti.
Vedi se ti piace così:
Codice HTML:
<html>
<head>
<title><?php echo "Aggiungi record" ?></title>
</head>
<body>
<table>
<form action="add.php" method="post" name="form" onsubmit="return sendOff()">
<tr><td>Nome</td>
<td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
<tr><td>Cognome</td>
<td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
<tr><td>Azienda</td>
<td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>
<tr><td>Ruolo</td>
<td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>
<tr><td>E-mail</td>
<td><input type="text" name="email" size="20" maxlength="20"></td></tr>
<tr><td>Telefono</td>
<td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>
<tr><td>Cellulare</td>
<td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>
<tr><td colspan="2"><input type="submit" value="Inserisci"></td></tr>
<script language="JavaScript1.2">
function checkEmailAddress(field) {
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.it)|(\.bz)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail){
return true;
} else {
alert('Inserisci una mail valida');
field.focus();
field.select();
return false;
}
}
function sendOff(){
nmcheck = document.form.nome.value
if (nmcheck.length <1) {
alert('Inserisci il nome')
}else if (checkEmailAddress(document.form.email)) {
return true;
}
return false;
}
</script>
</form>
</table>
<a href="record.php">Guarda i record</a>
</body>
</html>
Ciao.
-
Grazie :razz::razz:
funziona alla perfezione complimenti:=):
Ciao