come fare?
vorrei inserire un 'checkbox' in un form di registrazione e una volta spuntato (è quello del consenso privacy) si deve rendere attivo il pulsante submit ('invia')
come fare?
vorrei inserire un 'checkbox' in un form di registrazione e una volta spuntato (è quello del consenso privacy) si deve rendere attivo il pulsante submit ('invia')
Devi usare javascript. Rivolgiti sul forum javascript.
E, comunque, basta disabilitare i javascript sul proprio browser e tutti i controlli javascript vanno a farsi friggere.
gentilissimo...
Prego.Originariamente inviato da soproblemi
gentilissimo...
A questo punto, visto che vuoi usare javascript a tutti i costi, ti conviene che il submit della form sia demandato anche a javascript.
In questo modo, se i javascript sono disabilitati sul browser dell'utente, la form non parte.
codice:<html> <head> <title>Titolo Pagina</title> <script type="text/javascript"> function attivaPulsante(){ if (document.registrazione.privacy.checked == true) { document.registrazione.conferma.disabled = false; } else { document.registrazione.conferma.disabled = true; } } function inviaModulo(){ document.registrazione.submit(); } </script> </head> <body> <form name="registrazione" id="registrazione" method="post" action="pagina.asp"> <label for="nome">nome * </label> <input type="text" name="nome" id="nome" /></p> <label for="cognome">cognome </label> <input type="text" name="cognome" id="cognome" /></p> <label for="email">email * </label> <input type="text" name="email" id="email" /></p> <label for="legge">Legge sulla privacy</label><textarea cols="20" rows="5" name="legge" id="legge" readonly="readonly">Il Dlg eccetera, eccetera...</textarea></p> <label for="privacy">Accetto il trattamento dei dati * </label><input type="checkbox" name="privacy" id="privacy" value="1" onclick="return attivaPulsante();" /></p> <input name="conferma" id="conferma" type="button" value="INVIA" disabled="disabled" onclick="return inviaModulo();" /></p> I campi con asterisco * sono obbligatori. </form> </body> </html>
scusami...
ho inserito ciò che mi hai postato ma quando spunto il checkbox il pulsante 'invia' non si abilita più...perchè?
ora ti posto il mio codice così lo controlli:
<CODE>
.
.
.
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function resetform()
{
document.forms[0].elements[1]=="";
}
function submitForms()
{
if (isNome() && isCognome() && isNomeAzienda() && isCFPIVA() && isIndirizzo() && isCitta() && isCAP() && isProvincia() && isEmail() && isNumTel() && isNumFax())
if (confirm("Confermi?"))
{
alert("Invio in corso!");
return true;
}
else
{
alert("Non hai confermato!");
return false
}
else
return false;
}
function isNome() {
if (document.forms[0].elements[0].value == "")
{
alert ("Inserisci il nome.")
document.forms[0].elements[0].focus();
return false;
}
return true;
}
function isCognome() {
if (document.forms[0].elements[1].value == "") {
alert ("Inserisci il cognome ")
document.forms[0].elements[1].focus();
return false;
}
return true;
}
function isNomeAzienda() {
if (document.forms[0].elements[2].value == "") {
alert ("Inserisci il Nome dell'Azienda ")
document.forms[0].elements[2].focus();
return false;
}
return true;
}
function isCFPIVA() {
if (document.forms[0].elements[3].value == "") {
alert ("Inserisci il Codice Fiscale / Partita IVA")
document.forms[0].elements[3].focus();
return false;
}
return true;
}
function isIndirizzo() {
if (document.forms[0].elements[4].value == "") {
alert ("Inserisci l\'indirizzo")
document.forms[0].elements[4].focus();
return false;
}
return true;
}
function isCitta()
{
if (document.forms[0].elements[5].value == "")
{
alert ("Inserisci la città ")
document.forms[0].elements[5].focus();
return false;
}
return true;
}
function isCAP() {
if (document.forms[0].elements[6].value == "") {
alert ("Inserisci il CAP")
document.forms[0].elements[6].focus();
return false;
}
return true;
}
function isProvincia() {
if (document.forms[0].elements[7].value == "") {
alert ("Inserisci la Provincia")
document.forms[0].elements[7].focus();
return false;
}
return true;
}
function isEmail() {
if (document.forms[0].elements[8].value == "") {
alert ("Inserisci l'e-mail")
document.forms[0].elements[8].focus();
return false;
}
if (document.forms[0].elements[8].value.indexOf ('@',0) == -1 ||
document.forms[0].elements[8].value.indexOf ('.',0) == -1) {
alert ("E-mail non valida!")
document.forms[0].elements[8].select();
document.forms[0].elements[8].focus();
return false;
}
return true;
}
function isNumTel() {
if (document.forms[0].elements[9].value == "") {
alert ("Inserisci il Numero di Telefono")
document.forms[0].elements[9].focus();
return false;
}
return true;
}
function isNumFax() {
if (document.forms[0].elements[10].value == "") {
alert ("Inserisci il Numero di FAX")
document.forms[0].elements[10].focus();
return false;
}
return true;
}
function attivaPulsante(){
if (document.forms[0].elements[12].checked == true) {
document.registrazione.conferma.disabled = false;
} else {
document.registrazione.conferma.disabled = true;
}
}
// End -->
</SCRIPT>
.
.
...
.
.
<form action="RegistrazioneEffettuata.asp" name="RegistraUtenti" target="_self" id="RegistraUtenti" enctype="text/plain" method="post" onSubmit="return submitForms()">
<div class="testoRegistra">Nome</div>
<div>
<input name="Nome" type="text" id="Nome" tabindex="1" size="50" maxlength="50" />
</div>
<div class="testoRegistra">Cognome</div>
<div>
<input name="Cognome" type="text" id="Cognome" size="50" maxlength="50" />
</div>
<div class="testoRegistra">Nome Azienda</div>
<div>
<input name="NomeAzienda" type="text" id="NomeAzienda" size="50" maxlength="50" />
</div>
<div class="testoRegistra">C.F. / P.IVA</div>
<div>
<input name="CFPIVA" type="text" id="CFPIVA" size="16" maxlength="16" />
</div>
<div class="testoRegistra">Indirizzo</div>
<div>
<input name="Indirizzo" type="text" id="Indirizzo" size="50" maxlength="50" />
</div>
<div class="testoRegistra">Città</div>
<div>
<input name="Citta" type="text" id="Citta" size="50" maxlength="50" />
</div>
<div class="testoRegistra">CAP</div>
<div>
<input name="CAP" type="text" id="CAP" size="5" maxlength="5" />
</div>
<div class="testoRegistra">Prov</div>
<div>
<input name="Provincia" type="text" id="Provincia" size="2" maxlength="2" />
</div>
<div class="testoRegistra">E-mail</div>
<div>
<input name="Email" type="text" id="Email" size="50" maxlength="50" />
</div>
<div class="testoRegistra">Tel </div>
<div>
<input name="NumTel" type="text" id="NumTel" size="20" maxlength="20" />
</div>
<div class="testoRegistra">Fax</div>
<div>
<input name="NumFax" type="text" id="NumFax" size="20" maxlength="20" />
</div>
<div class="testoRegistra">Consenso al Trattamento dei Dati Personali</div>
<div>
<textarea name="msgPrivacy" cols="80" rows="20" readonly="readonly" class="testoRegistra">
Informativa ai sensi del d. lgs. 196/2003....
....
....
</textarea>
</div
><div>
<p class="testoRegistra">Consenti?<input name="privacy" type="checkbox" value="1" onclick="return attivaPulsante();" />
</p>
</div>
<p align="center">
<input name="Invia" type="submit" id="Invia" value="Invia" onclick="resetform()" disabled="disabled"/>
<input name="Reset" type="reset" id="Reset" value="Cancella" />
</p>
</form>
.
.
.
Il mio esempio funziona perfettamente. Tocca a te saperlo adattare.
O c'hai anche le amnesie su javascript oltre che su asp?
![]()
puoi cortesemente controllare il codice che ti ho postato per vedere se le tue istruzioini le ho inserite bene o no?
mi faresti un grande favore...
Il tasto submit deve avere name="conferma" visto che nel javascript il disabled = true (oppure false) è fatto sull'oggetto document,registrazione.conferma
Inoltre, la tua form si chiama RegistraUtenti, mente, come puoi notare (?) dopo document ci sta registrazione.
Riepilogando.
Devi scrivere
document.RegistraUtenti.conferma.disabled = true (idem nella riga dove è = false)
l'input type="submit" deve avere name="conferma"
Il tutto nella speranza che il campo checkbox sia il dodicesimo elemento della collection form[0]
Copia e incolla:
codice:<SCRIPT LANGUAGE="JavaScript"> <!-- Begin function resetform() { document.forms[0].elements[1]==""; } function submitForms() { if (isNome() && isCognome() && isNomeAzienda() && isCFPIVA() && isIndirizzo() && isCitta() && isCAP() && isProvincia() && isEmail() && isNumTel() && isNumFax()) if (confirm("Confermi?")) { alert("Invio in corso!"); return true; } else { alert("Non hai confermato!"); return false } else return false; } function isNome() { if (document.forms[0].elements[0].value == "") { alert ("Inserisci il nome.") document.forms[0].elements[0].focus(); return false; } return true; } function isCognome() { if (document.forms[0].elements[1].value == "") { alert ("Inserisci il cognome ") document.forms[0].elements[1].focus(); return false; } return true; } function isNomeAzienda() { if (document.forms[0].elements[2].value == "") { alert ("Inserisci il Nome dell'Azienda ") document.forms[0].elements[2].focus(); return false; } return true; } function isCFPIVA() { if (document.forms[0].elements[3].value == "") { alert ("Inserisci il Codice Fiscale / Partita IVA") document.forms[0].elements[3].focus(); return false; } return true; } function isIndirizzo() { if (document.forms[0].elements[4].value == "") { alert ("Inserisci l'indirizzo") document.forms[0].elements[4].focus(); return false; } return true; } function isCitta() { if (document.forms[0].elements[5].value == "") { alert ("Inserisci la città ") document.forms[0].elements[5].focus(); return false; } return true; } function isCAP() { if (document.forms[0].elements[6].value == "") { alert ("Inserisci il CAP") document.forms[0].elements[6].focus(); return false; } return true; } function isProvincia() { if (document.forms[0].elements[7].value == "") { alert ("Inserisci la Provincia") document.forms[0].elements[7].focus(); return false; } return true; } function isEmail() { if (document.forms[0].elements[8].value == "") { alert ("Inserisci l'e-mail") document.forms[0].elements[8].focus(); return false; } if (document.forms[0].elements[8].value.indexOf ('@',0) == -1 || document.forms[0].elements[8].value.indexOf ('.',0) == -1) { alert ("E-mail non valida!") document.forms[0].elements[8].select(); document.forms[0].elements[8].focus(); return false; } return true; } function isNumTel() { if (document.forms[0].elements[9].value == "") { alert ("Inserisci il Numero di Telefono") document.forms[0].elements[9].focus(); return false; } return true; } function isNumFax() { if (document.forms[0].elements[10].value == "") { alert ("Inserisci il Numero di FAX") document.forms[0].elements[10].focus(); return false; } return true; } function attivaPulsante(){ if (document.RegistraUtenti.privacy.checked == true) { document.RegistraUtenti.conferma.disabled = false; } else { document.RegistraUtenti.conferma.disabled = true; } } // End --> </SCRIPT> . . ... . . <form action="RegistrazioneEffettuata.asp" name="RegistraUtenti" target="_self" id="RegistraUtenti" enctype="text/plain" method="post" onSubmit="return submitForms()"> <div class="testoRegistra">Nome</div> <div> <input name="Nome" type="text" id="Nome" tabindex="1" size="50" maxlength="50" /> </div> <div class="testoRegistra">Cognome</div> <div> <input name="Cognome" type="text" id="Cognome" size="50" maxlength="50" /> </div> <div class="testoRegistra">Nome Azienda</div> <div> <input name="NomeAzienda" type="text" id="NomeAzienda" size="50" maxlength="50" /> </div> <div class="testoRegistra">C.F. / P.IVA</div> <div> <input name="CFPIVA" type="text" id="CFPIVA" size="16" maxlength="16" /> </div> <div class="testoRegistra">Indirizzo</div> <div> <input name="Indirizzo" type="text" id="Indirizzo" size="50" maxlength="50" /> </div> <div class="testoRegistra">Città</div> <div> <input name="Citta" type="text" id="Citta" size="50" maxlength="50" /> </div> <div class="testoRegistra">CAP</div> <div> <input name="CAP" type="text" id="CAP" size="5" maxlength="5" /> </div> <div class="testoRegistra">Prov</div> <div> <input name="Provincia" type="text" id="Provincia" size="2" maxlength="2" /> </div> <div class="testoRegistra">E-mail</div> <div> <input name="Email" type="text" id="Email" size="50" maxlength="50" /> </div> <div class="testoRegistra">Tel </div> <div> <input name="NumTel" type="text" id="NumTel" size="20" maxlength="20" /> </div> <div class="testoRegistra">Fax</div> <div> <input name="NumFax" type="text" id="NumFax" size="20" maxlength="20" /> </div> <div class="testoRegistra">Consenso al Trattamento dei Dati Personali</div> <div> <textarea name="msgPrivacy" cols="80" rows="20" readonly="readonly" class="testoRegistra"> Informativa ai sensi del d. lgs. 196/2003.... .... .... </textarea> </div ><div> <p class="testoRegistra">Consenti?<input name="privacy" type="checkbox" value="1" onclick="return attivaPulsante();" /> </p> </div> <p align="center"> <input name="Invia" type="submit" name="conferna" id="conferma" value="Invia" onclick="resetform()" disabled="disabled"/> <input name="Reset" type="reset" id="Reset" value="Cancella" /> </p> </form>
tutto ok...
grazie mille...sei gentilissimo...
purtroppo la mia inesperienza mi fa fare spesso degli errori banali...
scusami e alla prossima
avevo dimenticato...
ti ricordi che c'era anche il problema che dopo aver cliccato il pulsante INVIA doveva essere inviata una email, contenente tutti i campi del form, e tale operazione non doveva essere visibile (non come normalmente mi faceva che si apriva outlook).
ultimo aiutino...