| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 15-07-2008, 13.32.05   #1
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.139
Alhazred promette bene
[JS] form - bloccare l'ivio dei dati

Sto implementando una funzione di login, in javascript ho scritto una funzione che controlla se uno dei campi username o password sono vuoti in modo da segnalare all'utente che c'è un'informazione mancante.
La funzione si deve attivare al click sul pulsante submit.

Per adesso se riempio solo uno dei campi i dati vengono comunque inviati e non appare neanche l'alert. Come faccio a fare in modo che appaia l'alert e che in tal caso si resti sulla pagina html e non si passi alla servlet?
Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login</title>
<script type="text/javascript">
<!--
function login(obj) {
	if(document.getElementById("userlog").value == "") { //è giusto usare .value qui?
		alert("Inserire il nome utente");
	}
	if(document.getElementbyId("passlog").value == "" { //è giusto usare .value qui?
		alert("Inserire la password");
	}		
}
//-->
</script>
</head>
<body>
<center>
<h1>LogIn</h1>
<FORM ACTION="CheckLogin" METHOD="POST">
<table border="3" cellpadding="5">
<tr><td>Username:</td><td><input type="text" name="username" id="userlog" value="" /></td></tr>
<tr><td>Password:</td><td><input type="password" name="password" id="passlog" value="" /></td></tr>
</table>
<br>
<input type="submit" value="Login" onclick="login(this)" />
</FORM>
</center>
</body>
</html>
Alhazred non è collegato   Rispondi citando
Vecchio 15-07-2008, 13.52.45   #2
Gergio
Gold Member
 
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
Gergio promette bene
ci devi aggiungere un "return true" e un "return false" a seconda dei casi
___________________________________

Gergio non è collegato   Rispondi citando
Vecchio 15-07-2008, 14.10.48   #3
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.139
Alhazred promette bene
Ho provato con i return, ma il form viene comunque inviato.
La funzione è diventata così:
Codice:
function login(obj) {
	if(obj.form.elements["userlog"].value == "") {
		alert("Inserire il nome utente");
		return false;
	}
	if(obj.form.elements["passlog"].value == "") {
		alert("Inserire la password");
		return true;
	}		
}
Adesso gli alert appaiono correttamente.
Alhazred non è collegato   Rispondi citando
Vecchio 15-07-2008, 14.15.58   #4
shadowDK
Senior Member
 
Registrato: 21-03-2008
Loc.: From Lugano (CH)...finally!
Messaggi: 330
shadowDK promette bene
Quota:
Inviato da Alhazred
Codice:
<input type="submit" value="Login" onclick="login(this)" />
Credo che qui basti scrivere
Codice:
onclick="return login(this);"
e nella funzione mettere return true e return false come suggerito da Gergio...

Occhio però che come hai scritto tu nell'ultimo posto se la password è "" il form viene inviato...nei due if io metterei return false, se non entra in nessuno dei due invece metterei return true!
shadowDK non è collegato   Rispondi citando
Vecchio 15-07-2008, 14.17.33   #5
Gergio
Gold Member
 
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
Gergio promette bene
giusto, avevo guardato solo la funzione, non la chiamata
___________________________________

Gergio non è collegato   Rispondi citando
Vecchio 15-07-2008, 15.31.09   #6
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.139
Alhazred promette bene
Perfetto, funziona.
Grazie
Alhazred non è collegato   Rispondi citando
Vecchio 16-07-2008, 09.07.22   #7
miciomao
Hero Member
 
L'avatar di miciomao
 
Registrato: 14-01-2005
Loc.: Rome, Italy
Messaggi: 1.132
miciomao promette bene
E se il tasto invio comparisse solo se tutti i campi fossero riempiti?



[HTML]
<HTML>

<HEAD>
<TITLE>Form con validazione</TITLE>

<style>
A:link, A:visited { text-decoration: none }
A:hover { text-decoration: underline }
</style>
<script>
<!--
var iscomplete=false

function checkform() {
iscomplete=true
for (i=0;i<=document.mioform.elements.length-1;i++) {
if (document.mioform.cognome.value=="") {iscomplete=false}
if (document.mioform.nome.value=="") {iscomplete=false}
if (document.mioform.indirizzo.value=="") {iscomplete=false}
if (document.mioform.email.value=="") {iscomplete=false}
}
if (!iscomplete) {
window.status="Per favore compila i campi!"
if (document.layers) {
document.mioform.submitbut.value="NO"
iscomplete=false
}
else if (document.all) {
submitbutton.style.visibility="HIDDEN"
iscomplete=false
}
else if (document.getElementById) {
document.mioform.submitbut.value="NO"
iscomplete=false
}
}
if (iscomplete) {
window.status="Adesso puoi inviare il modulo"
if (document.layers) {
document.mioform.submitbut.value="Invia"
iscomplete=true
}
else if (document.all) {
submitbutton.style.visibility="VISIBLE"
iscomplete=true
}
else if (document.getElementById) {
document.mioform.submitbut.value="Invia"
iscomplete=true
}

}

var timer= setTimeout("checkform()",200)
}

function oksubmit() {
return iscomplete
}
// -->
</script>
</HEAD>
<BODY BGCOLOR="white" vlink="blue" link="blue">
<br><br>
<body bgcolor="#FFFFFF" onLoad="checkform()">
<center><font SIZE="2" face="Verdana">Compilare tutti i campi per inviare il modulo</font></center><br><br>
<form NAME="mioform" onSubmit="return oksubmit()" ACTION="mailtoippo@pluto.it" METHOD="POST">
<center>
<table BORDER="0" CELLSPACING="0"
CELLPADDING="1">
<tr valign="top">
<td bgcolor="CCCCCC">&nbsp;<font SIZE="1" face="Verdana">Nome:</font></td>
<td bgcolor="CCCCCC" align="right"><font SIZE="1" face="Verdana"><input NAME="nome" TYPE="Text" SIZE="30" MAXLENGTH="50">&nbsp;</td>
</tr>
<tr valign="top">
<td bgcolor="CCCCCC">&nbsp;<font SIZE="1" face="Verdana">Cognome:</font></td>
<td bgcolor="CCCCCC"><font SIZE="1" face="Verdana"><input NAME="cognome" TYPE="Text" SIZE="30" MAXLENGTH="50">&nbsp;</td>
</tr>
<tr valign="top">
<td bgcolor="CCCCCC">&nbsp;<font SIZE="1" face="Verdana">Indirizzo:</font></td>
<td bgcolor="CCCCCC" align="right"><font SIZE="1" face="Verdana"><input NAME="indirizzo" TYPE="Text" SIZE="30"
MAXLENGTH="50">&nbsp;</td>
</tr>
<tr valign="top">
<td bgcolor="CCCCCC">&nbsp;<font SIZE="1" face="Verdana">Email:</font></td>
<td bgcolor="CCCCCC" align="right"><font SIZE="1" face="Verdana"><input NAME="email" TYPE="Text" SIZE="30"
MAXLENGTH="50">&nbsp;</td>
</tr>
</table>
</center>

<SCRIPT language="JavaScript">
<!--
if (document.layers){
document.write('<DIV id="submitbutton" style="visibility:hidden">');
}
else if (document.all){
document.write('<DIV id="submitbutton" style="visibility:hidden">');
}
else if(document.getElementById && navigator.appName == "Netscape"){
document.write('<DIV id="submitbutton" style="visibility:hidden"></div>');
}
//-->
</SCRIPT>

<center>
<table BORDER="0" CELLSPACING="0" CELLPADDING="0">
<tr valign="top">
<td align=middle><font SIZE="1" face="Verdana"><input NAME="submitbut" TYPE="submit" VALUE=" Invia "></td>
</tr>
<tr>
</table>
</center>
</div>

</form>





<br><br><br><br><br><br><br><br><br><br><br>

</font></BODY>
</HTML>
[/HTML]
___________________________________

♫ m u s i c ♪ i s ♫ t h e ♪ a n s w e r ♫
"Il più piccolo dei piccoli felini è già lui stesso un vero capolavoro". (Leonardo da Vinci)
Namasté!
miciomao non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[JSP] Usare form da una JSP inclusa... si può fare? Alhazred Programmazione 8 29-07-2008 10.31.48
[Vista Backup] Non si trovano i dati salvati taniservice Windows 7/Vista/XP/ 2003 1 25-09-2007 09.29.57
Nascondere una partizione... cworange84 Windows 7/Vista/XP/ 2003 15 30-08-2005 10.26.56
[PHP] form invio dati via email, formattati Thor Programmazione 0 06-07-2005 18.06.30
ADSL su linea solo dati: canone in arrivo? handyman Segnalazioni Web 4 13-06-2005 15.48.21

Orario GMT +2. Ora sono le: 10.32.38.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2012 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.