probbabilmente l'errore lato server e dovuto al fatto che non viene inserita una email, e un ipotesi perche non so a che cosa corrisponde questa riga /test/Il_Pomodorino.asp, line 59Originariamente inviato da mitzi
http://forum.html.it/forum/showthrea...hreadid=856429
Mentre invece il controllo del form della pagina pronotazione.html si blocca alla riga 51, permettendo l'invio dello stesso.
Ciao![]()
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
Non ci trovo niente di strano........l'invio non funziona se lasci vuoto il campo email.........non essendo compilato nessuno dei campi "DA" e "MITTENTE", la mail non parte.
Una soluzione: aggiungi un controllo javascript che renda obbligatorio compilare il campo email, tipo:
con il risultato di risolvere il problema e di avere sempre la mail dell'utente.codice:<script language="javascript" type = "text/javascript"> function controllo(){ var test; test="true"; if (test=="true") { if (document.form.email.value=="") { alert("Compila il campo email"); document.form.email.focus(); test="false"; } } if (test=="true"){ document.form.submit(); } } </script>
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
i controlli ci sono come potete vedere dall'html :
codice:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Il Pomodorino</title> <meta http-equiv=content-type content="text/html; charset=iso-8859-1"> <style type=text/css> A:link { TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } BODY { background-color: #770000; } .style22 { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } .style23 { FONT-WEIGHT: bold; FONT-SIZE: 9px; COLOR: #0066ff } .Stile1 { font-family: Arial, Helvetica, sans-serif; color: #FFFFFF; } .Stile2 {FONT-WEIGHT: bold; FONT-SIZE: 9px; COLOR: #FFFFFF; font-family: Arial, Helvetica, sans-serif; } body,td,th { font-family: Arial, Helvetica, sans-serif; } .Stile3 { color: #FF0000; font-weight: bold; } </style> <script language=JavaScript type=text/JavaScript> <!-- function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { var i,p,tab,val,errors='',error='',//ritorno=true;focus_obj for (i=0; i<document.forms[0].length; i++){ tab=document.forms[0].elements[i].name; val=document.forms[0].elements[i].value; if (tab=="nome"){ if (val=="") errors+='- nome.\n'; //focus_obj=document.form1.nome.focus(); //ritorno=false; } if (tab=="cognome"){ if (val=="") errors+='- cognome.\n'; } // if (tab=="fisso"){ // if (val=="") errors+='- tel. fisso.\n'; // else if (isNaN(val)) errors+='- Tel. Fisso: inserire un numero.\n'; // } if (tab=="pref"){ if (val=="") errors+='- prefisso.\n'; else if (isNaN(val)) errors+='- Prefisso: inserire un numero.\n'; } if (tab=="telefono"){ if (val=="") errors+='- num. telefono.\n'; else if (isNaN(val)) errors+='- Num. telefono: inserire un numero.\n'; } if (tab=="email"){ p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- email valida.\n'; } if (tab=="persone"){ if (val=="") errors+='- persone.\n'; else if (isNaN(val)) errors+='- Persone: inserire un numero.\n'; } if (tab=="ora"){ if (val=="- -") errors+='- inserire ora valida.\n'; } if (tab=="minuti"){ if (val=="- -") errors+='- inserire minuti validi.\n'; } if (tab=="giorno"){ if (val=="- -") errors+='- inserire giorno valido.\n'; } if (tab=="mese"){ if (val=="- -") errors+='- inserire mese valido.\n'; } } if (error!=""){ alert(error); errors='errore'; }else if (errors){ alert('Inserire:\n'+errors); } document.MM_returnValue = (errors == ''); } //--> </script> <meta content="MSHTML 6.00.2800.1476" name=GENERATOR></head> <body> <form action=Il_Pomodorino.asp method=post name=form1 class="Stile1" onsubmit="MM_validateForm();return document.MM_returnValue"> <p align=center class="Stile3">IL SOTTOSCRITTO</p> <table width="570" border="0" align="center"> <tr> <td width="49" height="30"><strong class="Stile1">Nome[/b] </td> <td width="208" height="30"><input name="nome" type="text" size="25"></td> <td width="81"><strong class="Stile1">Cognome[/b]</td> <td width="232"><input name="cognome" type="text" size="25"></td> </tr> <tr> <td width="49" height="30"><div align="left" class="Stile1">Via</div></td> <td width="208" height="30"><strong class="Stile1"> <input name="indirizzo" type="text" size="14"> n.[/b] <input name="numero" type="text" size="4"> </td> <td width="81"><strong class="Stile1">Città[/b]</td> <td width="232"><strong class="Stile1"> <input name="citta" type="text" size="11"> c.a.p. <input name="cap" type="text" size="2"> [/b]</td> </tr> <tr> <td width="49" height="27"> <p class="Stile1">Pref.</p></td> <td width="208" height="27"><strong class="Stile1"> <input name="pref" type="text" size="6" maxlength="8"> Tel.[/b] <input name="telefono" type="text" size="10"> </td> <td width="81"><strong class="Stile1">E-mail[/b]</td> <td width="232"><input name="email" type="text" size="25"></td> </tr> </table> <p align=center class="Stile3">PRENOTA PER</p> <table width=298 align=center border=0> <tr> <td height=30 colspan="2"> <strong class="Stile1">Giorno[/b] <select name=giorno> <option value="- -" selected>- -</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <strong class="Stile1">Mese[/b] <select name=mese> <option value="- -" selected>- -</option> <option value="Gennaio">Gennaio</option> <option value="Febbraio">Febbraio</option> <option value="Marzo">Marzo</option> <option value="Aprile">Aprile</option> <option value="Maggio">Maggio</option> <option value="Giugno">Giugno</option> <option value="Luglio">Luglio</option> <option value="Agosto">Agosto</option> <option value="Settembre">Settembre</option> <option value="Ottobre">Ottobre</option> <option value="Novembre">Novembre</option> <option value="Dicembre">Dicembre</option> </select> <input name=anno id="anno" value="2005" size=3> </p></td></tr> <tr> <td height=25 colspan="2" class="Stile1"><strong class="Stile1">Orario [/b] <select name=ora> <option value="- -" selected>- -</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> </select> : <select name=minuti> <option value="- -" selected>- -</option> <option value="00">00</option> <option value="05">05</option> <option value="10">10</option> <option value="15">15</option> <option value="20">20</option> <option value="25">25</option> <option value="30">30</option> <option value="35">35</option> <option value="40">40</option> <option value="45">45</option> <option value="50">50</option> <option value="55">55</option> </select> <strong class="Stile1">N. persone[/b] <input maxlength=3 size=2 name=persone></td> </tr> <tr> <td width="85" height=50> <strong class="Stile1">Richieste aggiuntive [/b] </p> </td> <td width="203"><textarea name=note rows=4 cols=22></textarea></td> </tr></table> <table width=298 border=0 align=center> <tr> <td width="298" height=34> <input type=reset value=Reimposta name=cancella> <input type=submit value=Invia name=invia> </p> </td> </tr> </table> </form> <p align=center class=Stile2></p> </body> </html>
vi invio anke il file asp sxando ke almeno voi risciate a capirci qualcosa :
graziecodice:<% '============Linkbruttocane su specifiche MSDN================ '* il corpo finale del messaggio contiene tutti i campi * '* inseriti nella pagina html, in pratica puoi mettere * '* tutti i campi che ti servono nel modulo di invio senza * '* fare altre configurazioni aggiuntive. * '============================================================= DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo '* voce da modificare con il proprio indirizzo email invioA = "" '* voce da modificare con un indirizzo email che funga da mittente: '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON '* dato che cdosys supporta questa notifica invioDa = "" '------------fine modifiche necessarie------------------ nomeDominio = Request.ServerVariables("HTTP_HOST") indirizzoIp = Request.ServerVariables("REMOTE_ADDR") modulo = Request.ServerVariables("HTTP_REFERER") browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT") '*rilevo i campi del form FOR numeroCampi = 1 TO (Request.Form.Count() - 1) IF NOT Request.Form(numeroCampi) = "" THEN corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi)) END IF NEXT '* creo gli oggetti cdosys sul server e li gestisco DIM iMsg, Flds, iConf Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields Flds(cdoSendUsingMethod) = cdoSendUsingPort Flds(cdoSMTPServer) = "smtp.aruba.it" Flds(cdoSMTPServerPort) = 25 Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0 Flds.Update With iMsg Set .Configuration = iConf .To = invioA .From = Request.Form("email") .Sender = invioDa .Subject = "Contatto dal dominio " & nomeDominio .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & "" .Send End With %> <script> document.location.replace('grazie.asp'); </script>
M.
Pagina prenotazione:
Copia esattamente cosi la pagina che funziona correttamente.codice:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>Il Pomodorino</title> <meta http-equiv=content-type content="text/html; charset=iso-8859-1"> <style type=text/css> A:link { TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } BODY { background-color: #770000; } .style22 { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } .style23 { FONT-WEIGHT: bold; FONT-SIZE: 9px; COLOR: #0066ff } .Stile1 { font-family: Arial, Helvetica, sans-serif; color: #FFFFFF; } .Stile2 {FONT-WEIGHT: bold; FONT-SIZE: 9px; COLOR: #FFFFFF; font-family: Arial, Helvetica, sans-serif; } body,td,th { font-family: Arial, Helvetica, sans-serif; } .Stile3 { color: #FF0000; font-weight: bold; } </style> <script language=JavaScript type=text/JavaScript> <!-- function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm(f) { var nome = ""; var cognome = ""; var pref = ""; var telefono = ""; var indirizzo = ""; var numero = ""; var cap = ""; var citta = ""; var email = ""; var giorno = ""; var mese = ""; var anno = ""; var ora = ""; var minuti = ""; var persone = ""; if(f.persone.value==""){ persone="Inserire il numero di persone\n"; }else if(isNaN(f.persone.value)){ persone="Inserire nel campo persone solo numeri\n"; } if(f.minuti.value=="- -"){ minuti="Selezionare i minuti\n"; } if(f.ora.value=="- -"){ ora="Selezionare un\'ora\n"; } if(f.anno.value==""){ anno="Inserire l\anno corrente\n"; }else if (f.anno.value < 2005){ anno="Anno errato inserire l\'anno corrente\n"; } if(f.mese.value=="- -"){ mese="Selezionare un mese\n"; } if(f.giorno.value=="- -"){ giorno="Selezionare un giorno\n"; } if(f.email.value==""){ email="Inserisca la sua email\n"; }else if(f.email.value.lastIndexOf("@")==-1 || f.email.value.lastIndexOf(".")==-1){ email="Indirizzo email errato si prega di verificare!\n"; } if(f.telefono.value==""){ telefono="Inserere un numero di telefono\n"; }else if(isNaN(f.telefono.value)){ telefono="Inserire solo numeri nel campo telefono\n"; } if(f.pref.value==""){ pref="Insere il prefisso\n"; }else if(isNaN(f.pref.value)){ pref="Inserire solo numeri nel campo prefisso\n"; } if(f.cap.value==""){ cap="Inserire codice aviamento postale [cap]\n"; }else if(isNaN(f.cap.value)){ cap="Inserire solo numeri nel campo cap\n"; } if(f.citta.value==""){ citta="Inserire un citta\n"; } if(f.numero.value==""){ numero="Inserire il numero civico\n"; } if(f.indirizzo.value==""){ indirizzo="Inserire un indirizzo\n"; } if(f.cognome.value==""){ cognome="Inserire il cognome\n"; } if(f.nome.value==""){ nome="Inserire il nome\n"; } errore="Attenzione!!!\n\nIn campi sottostanti sono errari o mancanti:\n"; if((cognome!="")||(nome!="")||(telefono!="")||(pref!="")||(ora!="")||(minuti!="")||(giorno!="")||(mese!="")||(anno!="")||(citta!="")||(indirizzo!="")||(numero!="")||(cap!="")||(email!="")||(persone!="")){ alert(errore+nome+cognome+indirizzo+numero+citta+cap+pref+telefono+email+giorno+mese+anno+ora+minuti+persone); return false; } } //--> </script> <meta content="MSHTML 6.00.2800.1476" name=GENERATOR></head> <body> <form action="Il_Pomodorino.asp" method="post" name="form1" class="Stile1" onsubmit="return MM_validateForm(document.form1);"> <p align=center class="Stile3">IL SOTTOSCRITTO</p> <table width="570" border="0" align="center"> <tr> <td width="49" height="30"><strong class="Stile1">Nome[/b] </td> <td width="208" height="30"><input name="nome" type="text" size="25"></td> <td width="81"><strong class="Stile1">Cognome[/b]</td> <td width="232"><input name="cognome" type="text" size="25"></td> </tr> <tr> <td width="49" height="30"><div align="left" class="Stile1">Via</div></td> <td width="208" height="30"><strong class="Stile1"> <input name="indirizzo" type="text" size="14"> n.[/b] <input name="numero" type="text" size="4"> </td> <td width="81"><strong class="Stile1">Città[/b]</td> <td width="232"><strong class="Stile1"> <input name="citta" type="text" size="11"> c.a.p. <input name="cap" type="text" size="2"> [/b]</td> </tr> <tr> <td width="49" height="27"> <p class="Stile1">Pref.</p></td> <td width="208" height="27"><strong class="Stile1"> <input name="pref" type="text" size="6" maxlength="8"> Tel.[/b] <input name="telefono" type="text" size="10"> </td> <td width="81"><strong class="Stile1">E-mail[/b]</td> <td width="232"><input name="email" type="text" size="25"></td> </tr> </table> <p align=center class="Stile3">PRENOTA PER</p> <table width=298 align=center border=0> <tr> <td height=30 colspan="2"> <strong class="Stile1">Giorno[/b] <select name=giorno> <option value="- -" selected>- -</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <strong class="Stile1">Mese[/b] <select name=mese> <option value="- -" selected>- -</option> <option value="Gennaio">Gennaio</option> <option value="Febbraio">Febbraio</option> <option value="Marzo">Marzo</option> <option value="Aprile">Aprile</option> <option value="Maggio">Maggio</option> <option value="Giugno">Giugno</option> <option value="Luglio">Luglio</option> <option value="Agosto">Agosto</option> <option value="Settembre">Settembre</option> <option value="Ottobre">Ottobre</option> <option value="Novembre">Novembre</option> <option value="Dicembre">Dicembre</option> </select> <input name=anno id="anno" value="2005" size=3> </p></td></tr> <tr> <td height=25 colspan="2" class="Stile1"><strong class="Stile1">Orario [/b] <select name=ora> <option value="- -" selected>- -</option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> </select> : <select name=minuti> <option value="- -" selected>- -</option> <option value="00">00</option> <option value="05">05</option> <option value="10">10</option> <option value="15">15</option> <option value="20">20</option> <option value="25">25</option> <option value="30">30</option> <option value="35">35</option> <option value="40">40</option> <option value="45">45</option> <option value="50">50</option> <option value="55">55</option> </select> <strong class="Stile1">N. persone[/b] <input maxlength=3 size=2 name=persone></td> </tr> <tr> <td width="85" height=50> <strong class="Stile1">Richieste aggiuntive [/b] </p> </td> <td width="203"><textarea name=note rows=4 cols=22></textarea></td> </tr></table> <table width=298 border=0 align=center> <tr> <td width="298" height=34> <input type=reset value=Reimposta name=cancella> <input type=submit value=Invia name=invia> </p> </td> </tr> </table> </form> <p align=center class=Stile2> </p> </body> </html>
Pagina invio meail:
Ciaocodice:<% DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo '* voce da modificare con il proprio indirizzo email invioA = "" '* voce da modificare con un indirizzo email che funga da mittente: '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON '* dato che cdosys supporta questa notifica invioDa = "" '------------fine modifiche necessarie------------------ nomeDominio = Request.ServerVariables("HTTP_HOST") indirizzoIp = Request.ServerVariables("REMOTE_ADDR") modulo = Request.ServerVariables("HTTP_REFERER") browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT") '*rilevo i campi del form if Request.Form("email") = "" then Response.Write("<script>alert('errore email errata o mancate');window.history.go(-1);</script>") else FOR numeroCampi = 1 TO (Request.Form.Count() - 1) IF NOT Request.Form(numeroCampi) = "" THEN corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi)) END IF NEXT '* creo gli oggetti cdosys sul server e li gestisco DIM iMsg, Flds, iConf Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields Flds(cdoSendUsingMethod) = cdoSendUsingPort Flds(cdoSMTPServer) = "smtp.aruba.it" Flds(cdoSMTPServerPort) = 25 Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0 Flds.Update With iMsg Set .Configuration = iConf .To = invioA .From = Request.Form("email") .Sender = invioDa .Subject = "Contatto dal dominio " & nomeDominio .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & "" .Send End With end if %> <script> document.location.replace('grazie.asp'); </script>![]()
Spero che se dovessi veni in zona in un invito![]()
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
Mi sa che lasciando vuoti i campi invioA e invioDa la cosa continuerà a non fungere.........guarda le istruzioni commentate e seguile!
![]()
Per esempio:
invioA = "tua_email@nomedominio"
invioDa = request.form("email")
![]()
E' nato www.lombardiamotori.it
www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!
grazie tante, ora provo e ti faccio saxe!
sxiamo bene
M.
mi dispiace ma purtroppo il tuo codice non mi funziona, non vede i controlli ma invia direttamente l'asp!
ma sarai contento(sxo) di saxe ke funziona il mio di codice!non ci crederai ma non funzionava xkè c'era una , al posto di un ; ed io non riuscivo a vaderlo!
grazie tante
M.