29 messaggi dal 26 gennaio 2002
Ciao a tutti.
Ho una pagina HTML che contiene un form per fare una segnalazione del sito. Dal form viene richiamata una funzione javascript che effettua un controllo formale dei dati inseriti. Da qui viene richiamata una pagina asp che fa una insert in una tabella del database tenendo così traccia delle segnalazioni.
Il problema sta nel fatto che sulla tabella mi scrive due record invece che uno.
Posto le due pagine

questa è la pagina HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<script language=javascript>
function controlla_segnala() {
var form = document.segnala;
var nome = form.nome.value;
var email1 = form.email1.value;
var email2 = form.email2.value;
var oggetto = form.oggetto.value;
var messaggio = form.messaggio.value;

if ((email1 == "")||(email1 == "La tua e-mail")){
alert("Il campo 'La tua e-mail' è obbligatorio");
form.email1.focus();
return false;
} else {
var dopo_chiocciola = email1.substring((email1.indexOf("@") + 1), email1.length);
if (email1.indexOf("@") < 1) {
alert("E' necessario inserire un indirizzo E-Mail valido!");
form.email1.focus();
return false;
}
if (dopo_chiocciola.indexOf(".") < 1) {
alert("E' necessario inserire un indirizzo E-Mail valido!");
form.email1.focus();
return false;
}
}
if ((email2 == "")||(email2 == "La sua e-mail")){
alert("Il campo 'La tua e-mail' è obbligatorio");
form.email2.focus();
return false;
} else {
var dopo_chiocciola = email2.substring((email2.indexOf("@") + 1), email2.length);
if (email2.indexOf("@") < 1) {
alert("E' necessario inserire un indirizzo E-Mail valido!");
form.email2.focus();
return false;
}
if (dopo_chiocciola.indexOf(".") < 1) {
alert("E' necessario inserire un indirizzo E-Mail valido!");
form.email2.focus();
return false;
}
}
if (messaggio.length > 255){
alert("Il messaggio non può superare più di 255 caratteri!");
form.messaggio.focus();
return false;
}
form.submit();
return false;
}
</script>
<title>TuttoUtile.com - Ormai non puoi più farne a meno</title>
</HEAD>
<body background="../immagini/sfondoutil.jpg" bgproperties="fixed" link=yellow alink=yellow vlink=yellow text=white>
<font face="Comic Sans MS">
<center>
Riempi i campi e premi invia. Il sistema recapiterà l'e-mail al tuo amico
(I campi con gli asterischi sono obbligatori!)
</center>
<form name="segnala" action="../asp/segnala.asp" method=post onSubmit="controlla_segnala();return false;">
<table width="100%" border="0" align="center">
<tr>
<td>
Nome:
</td>
<td>
<input type="text" name=nome value="Il tuo nome">
</td>
</tr>
<tr>
<td>
*La tua e-mail:
</td>
<td>
<input type="text" name=email1 value="La tua e-mail">
</td>
</tr>
<tr>
<td>
*La sua e-mail:
</td>
<td>
<input type="text" name=email2 value="La sua e-mail">
</td>
</tr>
<tr>
<td>
Oggetto:
</td>
<td>
<input type="text" name=oggetto value="Oggetto">
</td>
</tr>
<tr>
<td>
Messaggio:
</td>
<td>
<textarea name=messaggio rows=8 cols=30></textarea><br><br>
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name=invia value="Invia">
</td>
<td align="center">
<input type="reset" name=Reset value="Reset"><br>
</td>
</tr>
</form>
</font>
</BODY>
</HTML>

questa è la pagina asp

<%@ LANGUAGE="VBSCRIPT" %>
<%
'Evita il cacheing della pagina
response.expires = 0
response.expiresabsolute = Now() - 1
response.addHeader "pragma","no-cache"
response.addHeader "cache-control","private"
Response.CacheControl = "no-cache"
%>
<HTML>
<HEAD>
<link rel=stylesheet href="../css/style.css" type="text/css">
<SCRIPT SRC="../js/funzioni.js"></SCRIPT>
<title>TuttoUtile.com - Ormai non puoi più farne a meno</title>
</HEAD>

<!-- #include file="../include/stats.asp" -->
<body>
<!-- #include file="../include/connectDB.asp" -->
<table width="100%" border="0" align="center">
<tr>
<td valign="bottom" width="15%">
</td>
<td valign="center" width="70%">
<!-- #include file="../include/logo.html" -->
</td>
<td valign="bottom" width="15%">
</td>
</tr>
</table>
<%
email1 = Request.form("email1")
email2 = Request.form("email2")
nome = request.form("nome")
cognome = request.form("cognome")
oggetto = request.form("oggetto")
messaggio = request.form("messaggio")
HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//IT"">"
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""#6833cc"" bgproperties=""fixed"" link=white alink=white vlink=white text=white>"
HTML = HTML & "<p><font face=""Comic Sans MS""><strong>"
HTML = HTML & "<a href=http://www.TuttoUtile.com>"
HTML = HTML & "TuttoUtile.com - Ormai non puoi più farne a meno</a>"
HTML = HTML & "</strong></p>"
HTML = HTML & "<hr align=""center"" width=100% size=2 noshade color=white><br>"
HTML = HTML & messaggio
HTML = HTML & "<hr align=""center"" width=100% size=2 noshade color=white><br></font>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"
Dim objMail
Set objMail = Server.CreateObjecT("CDONTS.NewMail")
ObjMail.from = nome & "<" & email1 & ">"
ObjMail.to = email2
ObjMail.subject = oggetto
ObjMail.body = HTML
objMail.BodyFormat = 0
objMail.MailFormat = 0
ObjMail.Importance = 1
ObjMail.send
Set ObjMail = Nothing
HTML = "<!DOCTYPE HTML PUBLIC ""-//IETF//DTD HTML//IT"">"
HTML = HTML & "<html>"
HTML = HTML & "<head>"
HTML = HTML & "</head>"
HTML = HTML & "<body bgcolor=""#6833cc"" bgproperties=""fixed"" link=white alink=white vlink=white text=white>"
HTML = HTML & "<p><font face=""Comic Sans MS""><strong>"
HTML = HTML & "<a href=http://www.TuttoUtile.com>"
HTML = HTML & "TuttoUtile.com - Ormai non puoi più farne a meno</a>"
HTML = HTML & "</strong></p>"
HTML = HTML & "<hr align=""center"" width=100% size=2 noshade color=white><br>"
HTML = HTML & "Il tuo sito è stato segnalato!<br>"
HTML = HTML & "Nome: " & nome & "<br>"
HTML = HTML & "Mittente: " & email1 & "<br>"
HTML = HTML & "Destinatario: " & email2 & "<br>"
HTML = HTML & "Messaggio: " & messaggio & "<br>"
HTML = HTML & "<hr align=""center"" width=100% size=2 noshade color=white><br></font>"
HTML = HTML & "</body>"
HTML = HTML & "</html>"
Set objMail = Server.CreateObjecT("CDONTS.NewMail")
ObjMail.from = "webmaster@tuttoutile.com"
ObjMail.to = "webmaster@tuttoutile.com"
ObjMail.subject = "Segnalazione sito"
ObjMail.body = HTML
objMail.BodyFormat = 0
objMail.MailFormat = 0
ObjMail.Importance = 1
ObjMail.send
Set ObjMail = Nothing
sql = "Insert into Segnalazioni (Mittente, Destinatario, Messaggio) values ( '" & email1 & "', '" & email2 & "', '" & messaggio & "' )"
db.execute(sql)
response.write "<font size=5>"
response.write "<br><br><br>"
response.write "<center>"
response.write "Segnalazione effettuata correttamente"
response.write "</font><br><br>"
response.write "<input type='button' name=chiudi value=Chiudi onclick='window.close();'>"
response.write "</center>"
%>
</BODY>
</HTML>


grazie anticipatamente
L' errore sta nelle ultime 2 righe della funzione js. Siccome già agganci questa funzione all' evento OnSubmit, non occorre ripeterlo nella funzione, quindi:

...
form.submit();
return false;
}
...

diventa semplicemente
...
return true;
}
...

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
29 messaggi dal 26 gennaio 2002
Se elimino il form.submit() non mi esegue la submit.
Non so che altro fareeeeeee...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.