formail con checkbox asp

  • Creatore Discussione Creatore Discussione windt
  • Data di inizio Data di inizio

windt

Utente Attivo
7 Giu 2016
59
5
8
Ciao ragazzi e..... CIAO ANCORA DI SALVEZZA :-) . Allora cerco un formail con obbligo inserimento dati, e non deve essere inviato se non viene confermato il trattamento dei dati personali. Sapete indicarmi uno script del genere in ASP ?? Grazie ragaa
 
Codice:
<script language="javascript">
<!--

// accetta nel form mail
function accetta(el){
checkobj=el
    if (document.all||document.getElementById){
        for (i=0;i<checkobj.form.length;i++){  
var tempobj=checkobj.form.elements[i]
    if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=!checkobj.checked
                            }
                        }
                    }
function disabilita(el){
    if (!document.all&&!document.getElementById){
            if (window.checkobj&&checkobj.checked)
return true
        else{
alert(" Compilare i campi obbligatori /n All fields required")
return false
                        }
                    }
                }
-->
</script>
        <table width="95%" align="center" cellpadding="2" cellspacing="2" border="0">
          <form method="post" action="mia-pagina.asp">
            <tr>
            <td>Nome<font color="#FF0000">*</font></td>
            <td><input type="text" name="nome" value="" size="35"></td>
            </tr>
            <tr>
            <td height="32">Cognome<font color="#FF0000">*</font></td>
            <td><input type="text" name="cognome" value="" size="35"></td>
            </tr>
            <tr>
            <td>Email <font color="#FF0000">*</font></td>
            <td><input type="text" name="email" value="" size="35"></td>
            </tr>
            <tr>
            <td>Oggetto <font color="#FF0000">*</font></td>
            <td><input type="text" name="oggetto" value="" size="35"></td>
            </tr>
            <tr>
            <td valign="top">Messaggio</td>
            <td><textarea name="messaggio" style="width:500px; height:100px"></textarea></td>
            </tr>
            <tr>
            <td colspan="3">In conformità alle disposizioni previste dalla legge 196/03 sulla tutela dei dati personali La informiamo di quanto segue: I dati personali che Lei vorrà liberamente comunicarci verranno registrati su supporti elettronici, protetti e trattati in via del tutto riservata.<br />I dati non saranno diffusi a terzi. I diritti che potranno essere esercitati in merito all'aggiornamento, alla modifica e alla cancellazione dei dati, sono quelli di cui all'art.7 del dlgs 196/03.<br /><b>Acconsento al trattemento dati </b><font color="#FF0000">*</font><input id="Privacy" onClick="accetta(this)" type="checkbox" value="Accetto il trattamento dei dati" name="Privacy" /></td>
            </tr>
            <tr>
            <td align="right">Campi obbligatori&nbsp;<font color="#FF0000">*</font></td>
            <td colspan="2"><input type="submit" disabled="disabled" name="submit" value="   Invia >>  "></td>
            </tr>
          </form>
</table>
...prova questo codice
 
  • Like
Reactions: windt
Ciao Paolo, ti avevo inviato una mail con uno script. Ho visto questo e molto bello.... e meno complesso per l'utilizzo che devo fare :-(
 
Ti basta questo o devo controllare anche il tuo?
Gli ho dato una sbirciata, per esperienza personale ti sconsiglio di effettuare i controlli con javascript, sono facilmente superabili da un robot e pertanto un giorno, ti vedresti arrivare email vuote senza motivo...
 
  • Like
Reactions: windt
Ero affezionato al mio anche perche i campi oggligati sono di piu e poi per mail arrivava tutta la scheda completa del cliente
 
Ci riesci da solo ad unire il codice? il quello che ti ho pubblicato disabilita il pulsante pertanto se ti arriva l'email e perchè ha accettato. Se vuoi lavoriamo su un codice tutto nuovo...
 
  • Like
Reactions: windt
ciao Paolo, sicuramente hai ragione tu nel dire di effettuare i controlli con javascript. Vero che quello che hai pubblicato tu disattiva il pulsante invio e la mail parte solo ad accettazione però, se non obbligo i campi nome, indirizzo, tel, etc.... la mail parte lo stesso
 
scusa se anticipo la risposta di Paolo,

i controlli vengono fatti con javascript per evitare il trasferimento dei dati al server e ritorno dell' eventuale messaggio con l'errore, MA, i controlli devono essere ripetuti lato server, per impedire che javascript sia bypassato dal "genio" di turno

poi ciascuno è libero di intendere la sicurezza secondo il proprio pensiero
 
  • Like
Reactions: windt and Paolo69
Ciao Paolo, non riesco ad unire i due codici :-( sono davvero imbranato!!!!!!
 
Non posso pubblicare il codice in una sola risposta, supero il numero massimo di caratteri, lo divido in due, il primo sino al tag </head>, il secondo sino al tag </body>;

Codice:
<%@ Language=VBScript %>
<%  option Explicit %>
<head>
<script language=JavaScript>
<!--
function deptChecked(form) {
  for (i=0; i<form.Reg.length; i++) {
  if (form.Reg[i].checked) {
  return true;
  }
  }
  return false;
}

<!-- Valida campi testo -->
function validateForm(form) {
  if ( (form.societa.value == "") )
    { alert("Attenzione! Devi inserire il nome della Società");    form.societa.focus();  return false; }
    else

  if ( (form.nome.value == "") )
    { alert("Attenzione! Devi inserire il Nome");    form.nome.focus();  return false; }
    else

  if ( (form.cognome.value == "")  )
    { alert("Attenzione! Devi inserire il Cognome"); form.cognome.focus();  return false; }
    else

  if ( (form.via.value == "")  )
    { alert("Attenzione! Devi inserire l'Indirizzo"); form.via.focus();  return false; }
    else

  if ( (form.citta.value == "")  )
    { alert("Attenzione! Devi inserire la Città"); form.citta.focus();  return false; }
    else
<!-- Avvisa se non hai selezionato la provincia -->

if ((form.provincia.selectedIndex == 0))
    {
  alert("Attenzione! Devi selezionare la Provincia");
   form.provincia.focus();
  return false;
  } else
 
  if ( (form.tel.value == "")  )
    { alert("Attenzione! immetti un numero Telefonico"); form.tel.focus();  return false; }
    else
   
<!-- Validate email verifica la validità formale-->  
  if  ( form.email.value.indexOf( "@") == -1 )
  { alert( "Inserisci un indirizzo valido per la E-mail" );
  return false; }
   if ( form.email.value.indexOf( ".") == -1 )
   { alert( "Inserisci un indirizzo valido per la E-mail" );
  return false; }
   
  if ( (form.email.value == "")  )
    { alert("Attenzione! Devi inserire la Email"); form.email.focus();  return false; }
    else
<!-- Avvisa se non hai selezionato la attivita -->

if ((form.attivita.selectedIndex == 0))
    {
  alert("Attenzione! Devi selezionare la tua Attività");
   form.provincia.focus();
  return false;
  } else
<!-- Avvisa se non hai selezionato il settore -->

if ((form.settore.selectedIndex == 0))
    {
  alert("Attenzione! Devi selezionare il Settore");
   form.provincia.focus();
  return false;
  } else
return true;
 
return true;

  }
   
  // accetta nel form mail
function accetta(el){
checkobj=el
  if (document.all||document.getElementById){
  for (i=0;i<checkobj.form.length;i++){  
var tempobj=checkobj.form.elements[i]
  if(tempobj.type.toLowerCase()=="submit")
tempobj.disabled=!checkobj.checked
  }
  }
  }
function disabilita(el){
  if (!document.all&&!document.getElementById){
  if (window.checkobj&&checkobj.checked)
return true
  else{
alert(" Compilare i campi obbligatori /n All fields required")
return false
  }
  }
  }
//-->
</script>
<script language="JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
  var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
  if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  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); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<meta name="ROBOTS" content="NOINDEX">
</head>
 
Codice:
<body bgcolor="#FFFFFF" onLoad="MM_preloadImages('images/home.jpg','images/info.jpg','images/staff.jpg','images/members.jpg');" background="../images/sfondo-elett.gif">
<div align="center">
 
 
  <table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111">
  <tr>
  <td>
<script>
function open_window(url)
{
mywin = window.open(url,"window",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=510,height=410');
}
  </script>
<form action="http://www.aruba.it" method=post name="Classified" onSubmit="return validateForm(this)">
<input type=hidden value="Richiesta_contatto_miosito" name=subject>
<input type=hidden [email protected] name=recipient>
<input type=hidden value=http://www.miosito.it/contatto/conferma.asp name=redirect>
<input name=Oggetto: type=hidden value=form_cartella_contatto>
<input type=hidden value=REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT name=env_report>
<table border="0" cellpadding="3" cellspacing="3" width="100%">
  <tr>
  <td align=middle colSpan=2 height=29 vAlign=top>
<B><font size="2" color="#DC143C">Completa il form con i tuoi dati</font></B>
  <font size="2"><br><font color="#FF0000">*</font>campi obbligatori</font></td></tr>
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Società:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=societa size=45> </font></td></tr>
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Nome:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=nome size=45></font></td></tr>
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Cognome:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=cognome size=45></font></td></tr>
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Indirizzo:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=via size=45></font></td></tr>   
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Città:</font></td>
  <td height=23><font size="2"><input maxLength=64 name=citta size=45></font></td></tr>   
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Provincia:</font></td>
  <td height=23><font size="2"><select class=input1 name=provincia size=1>
  <option selected value=AA>Seleziona</option>  
  <option value=AG>AGRIGENTO
  <option value=AL>ALESSANDRIA
  <option value=AN>ANCONA
  <option value=AO>AOSTA
  <option value=AR>AREZZO
  <option value=AP>ASCOLI PICENO
  <option value=AT>ASTI
  <option value=AV>AVELLINO
  <option value=BA>BARI
  <option value=BL>BELLUNO
  <option value=BN>BENEVENTO
  <option value=BG>BERGAMO
  <option value=BI>BIELLA
  <option value=BO>BOLOGNA
  <option value=BZ>BOLZANO-BOZEN
  <option value=BS>BRESCIA
  <option value=br>BRINDISI
  <option value=CA>CAGLIARI
  <option value=CL>CALTANISSETTA
  <option value=CB>CAMPOBASSO
  <option value=CE>CASERTA
  <option value=CT>CATANIA
  <option value=CZ>CATANZARO
  <option value=CH>CHIETI
  <option value=CO>COMO
  <option value=CS>COSENZA
  <option value=CR>CREMONA
  <option value=KR>CROTONE
  <option value=CN>CUNEO
  <option value=EN>ENNA
  <option value=FE>FERRARA
  <option value=FI>FIRENZE
  <option value=FG>FOGGIA
  <option value=FO>FORLI'-CESENA
  <option value=FR>FROSINONE
  <option value=GE>GENOVA
  <option value=GO>GORIZIA
  <option value=GR>GROSSETO
  <option value=IM>IMPERIA
  <option value=IS>ISERNIA
  <option value=AQ>L'AQUILA
  <option value=SP>LA SPEZIA
  <option value=LT>LATINA
  <option value=LE>LECCE
  <option value=LC>LECCO
  <option value=LI>LIVORNO
  <option value=LO>LODI
  <option value=LU>LUCCA
  <option value=MC>MACERATA
  <option value=MN>MANTOVA
  <option value=MS>MASSA-CARRARA
  <option value=MT>MATERA
  <option value=ME>MESSINA
  <option value=MI>MILANO
  <option value=MO>MODENA
  <option value=NA>NAPOLI
  <option value=NO>NOVARA
  <option value=NU>NUORO
  <option value=OR>ORISTANO
  <option value=PD>PADOVA
  <option value=PA>PALERMO
  <option value=PR>PARMA
  <option value=PV>PAVIA
  <option value=PG>PERUGIA
  <option value=PS>PESARO E URBINO
  <option value=PE>PESCARA
  <option value=PC>PIACENZA
  <option value=PI>PISA
  <option value=PT>PISTOIA
  <option value=PN>PORDENONE
  <option value=PZ>POTENZA
  <option value=PO>PRATO
  <option value=RG>RAGUSA
  <option value=RA>RAVENNA
  <option value=RC>REGGIO CALABRIA
  <option value=RE>REGGIO EMILIA
  <option value=RI>RIETI
  <option value=RN>RIMINI
  <option value=RM>ROMA
  <option value=RO>ROVIGO
  <option value=SA>SALERNO
  <option value=SS>SASSARI
  <option value=SV>SAVONA
  <option value=SI>SIENA
  <option value=SR>SIRACUSA
  <option value=SO>SONDRIO
  <option value=TA>TARANTO
  <option value=TE>TERAMO
  <option value=tr>TERNI
  <option value=TO>TORINO
  <option value=TP>TRAPANI
  <option value=TN>TRENTO
  <option value=TV>TREVISO
  <option value=TS>TRIESTE
  <option value=UD>UDINE
  <option value=VA>VARESE
  <option value=VE>VENEZIA
  <option value=VB>VERBANO-CUSIO-O
  <option value=VC>VERCELLI
  <option value=VR>VERONA
  <option value=VV>VIBO VALENTIA
  <option value=VI>VICENZA
  <option value=VT>VITERBO</option></select></font></td>
  </tr>   
  <tr>
  <td height=23><font size="2">&nbsp; CAP:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=cap size=10></font></td></tr>   
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>Telefono:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=tel size=25></font></td></tr>   
  <tr>
  <td height=23><font size="2">&nbsp; FAX:</font></td>
  <td height=23><font size="2"><input maxLength=40 name=fax size=25></font></td></tr>   
  <tr>
  <td height=23><font size="2"><font color="#FF0000">*</font>E-mail:</font> </td>
  <td height=23><font size="2"><input maxLength=64 name=email size=35></font></td></tr>   
  <tr>
  <td align=middle colSpan=2 height=29 vAlign=top>
       
<div id="legge"><input id="Privacy" onClick="accetta(this)" type="checkbox" value="Accetto il trattamento dei dati" name="Privacy" />
Letta l'<a target="_blank" href="#">informativa
sulla Privacy ai sensi del Dlg 196/03</a>, do il consenso
al trattamento dei dati personali per le finalità e con
le modalità specificatamente indicate nell'informativa stessa.</div>
</td>
</tr>
</table>
<P>
<font color="#000000"><b><font size="2">Commento:</font></b></font>
<font color=blue face=arial size=2>
<br><TEXTAREA cols=50 name="Commento" rows=5 wrap=VIRTUAL></TEXTAREA><br>
<br>
</font>
  <table align=center bgColor=silver border=2 cellPadding=2>
  <TBODY>
  <tr>
  <td align=middle><input type="submit" disabled="disabled" name="submit" value="  Invia >>  "></td>
  <td align=middle><input type="reset" value="Cancella tutto">
  </td>
  </tr>
  </TBODY>
  </table>
</form>
<p align="center"><font color="#000000" size="1">I dati sopra forniti verranno trattati nel rispetto della legge 675/96<br>(Tutela dei dati personali)</font><br></p>
</td>
</tr>
</table>
</div>
</body>
 
  • Like
Reactions: windt
Grazie Paolo. Ho provato e lo script funziona come lo desideravo. Ho fatto una simulazione e quando invio mi dirotta nella home di auba e nella casella del destinatario non arriva mail. Credo che l'erore sia qui:

<form action="http://www.aruba.it" method=post name="Classified" onSubmit="return validateForm(this)">
<input type=hidden value="Richiesta_contatto_miosito" name=subject>
<input type=hidden [email protected] name=recipient>
<input type=hidden value=http://www.sciaccaionline.com/contatto/conferma.asp name=redirect>
<input name=Oggetto: type=hidden value=form_cartella_contatto>
<input type=hidden value=REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT name=env_report>
 
Si, non prevede alcun invio email perchè semplicemente manca il codice. Mi era sembrato di capire che la tua esigenza era solo relativa al codice che obbliga l'utente ad accettare la privacy.
Riesci da solo a configurarti uno script?
 
  • Like
Reactions: windt
prova ad usare questo semplice codice fornito da ARUBA.
Crea un file e chiamalo email.asp
Codice:
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
<%

DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo

'* impostare "invioA" con l'indirizzo mail al quale spedire

invioA = "[email protected]"

'* impostare il campo "invioDa" con l'indirizzo del mittente
'* in caso di errore verra' inviata notifica a questo indirizzo

invioDa = "[email protected]"

'------------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) = "localhost"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
Flds.Update

With iMsg
Set .Configuration = iConf
.To = invioA
.From = Request.Form("email")
.Sender = invioDa
.Subject = "Richiesta contatto "
.TextBody = corpoMessaggio
.Send
End With
%>

Questo codice:
Codice:
<form action="http://www.aruba.it" method=post name="Classified" onSubmit="return validateForm(this)">
<input type=hidden value="Richiesta_contatto_miosito" name=subject>
<input type=hidden [email protected] name=recipient>
<input type=hidden value=http://www.sciaccaionline.com/contatto/conferma.asp name=redirect>
<input name=Oggetto: type=hidden value=form_cartella_contatto>
<input type=hidden value=REMOTE_HOST,REMOTE_ADDR,HTTP_USER_AGENT name=env_report>

sostituiscilo con questo:
Codice:
<form action="email.asp" method=post name="Classified" onSubmit="return validateForm(this)">

purtroppo sono in ferie e non riesco a farti uno script a doc... non ho i miei codici con me ;)
 
  • Like
Reactions: windt
Ciao Paolo, stavo giusto elaborando questo e mi sono inceppato nella voce seguente:
'* in caso di errore verra' inviata notifica a questo indirizzo

invioDa = "[email protected]"

'------------fine modifiche necessarie------------------

e poi non mi rimanda alla pagina che voglio
Cmq divertiti buone ferieeeeee (beato te) quando rientri se mi dai una mano a completarlo. Grazieeee
 
sono riuscito a dirottare nella pagina che voglio :) a quanto sembra funziona tutto adesso
 
Ultima modifica:
  • Like
Reactions: Paolo69

Discussioni simili