Controllare due chechbox e un campo mail

  • Creatore Discussione Creatore Discussione Vitto97
  • Data di inizio Data di inizio

Vitto97

Nuovo Utente
10 Giu 2010
7
0
0
Salve, io ho bisogno che in una form quando l'utenta clicca su un bottone lo script deve verificare se due cechbox sono selezionati(uno lo è di default) e se in un campo di testo è stato digitato qualcosa come a@a.it (una mail per capirci) e se è così reindirizzare a una pagina, altrimenti ricare la stessa. Ho fatto diversi tentativi, ma non sono riuscito a ottenre ciò che desidero potreste aiutarmi? Grazie
 
Dai un'occhiata a questo. Ovviamente devi cambiare i nomi dei campi e del form, espressi come parametri di getElementById. I parametri devono corrispondere agli ID degli elementi, e non ai nomi!
Codice:
function checkForm()
{
	var check1 = document.getElementById('check1').value;
	var check2 = document.getElementById('check2').value;
	var email = document.getElementById('email').value;
	
	var expr = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
	
	if(check1 && check2 && expr.test(email))
		location.href = 'paginaOk.php';
	else
		location.reload(true);
}

document.getElementById('myForm').onsubmit = checkForm;
 
Devo aver sbagliato qualcosa:

HTML:
<html>
<head>
<script type="text/javascript">
function checkForm()
{
	var check1 = document.getElementById('check1').value;
	var check2 = document.getElementById('check2').value;
	var mail = document.getElementById('mail').value;
	
	var expr = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;
	
	if(check1 && check2 && expr.test(mail))
		location.href = 'http://angolodelpinguino.netsons.org/pagamento.html';
	else
		location.reload(true);
}

document.getElementById('form').onsubmit = checkForm;
</script>
</head>
<body>
<form method="post" action="" id="form" name="form">
<input type="checkbox" id="check1" name=checkarray[] value=0 >
<input type="checkbox" name=checkarray[] value=0 id="check2" checked="checked">
<input type="button" id="vai" value="Conferma" action="submit">
</form>
</body>
</html>

così non sembra funzionare, dove sbaglio?
 
cu-cù? E' arrivato max...

non so se vi può servire quest'esempio...
tutti e 3 i campi devo essere contrassegnati ( e spunta la parola ok) altrimenti (nnn)

http://maxgiulia.altervista.org/max...-agosto10/field4-checked_e_casella_input2.htm

naturalmente basta sostituire alert con location.href
e il gioco è fatto...

bò... vedete un po voi...
Lo zio Max oltre che Flash si occupa anche di javascript e altre cose molto interessanti...
ma non vorrei andare troppo per le lunghe

au revoir
by max :elvis:
 
Nel codice che avevo postato avevo dimenticato di inserire il campo mail:angel:
Comunque sono riuscito a risolvere mischiando i vostri due script, perchè avevo bisogno che verificasse la presenza di una mail valida e non sempplicemente che ci fosse scritto qualcosa.

HTML:
<script>

function verifica(){

var mail = document.getElementById('mail').value;

var expr = /^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$/;

if(document.getElementById('check2').checked && document.getElementById('check1').checked && expr.test(mail)){

location.href = 'http://angolodelpinguino.netsons.org/pagamento.html';

}
else{
alert("Spunta entrambi i checkbox e inserisci una mail valida!");
}
}
</script>
<form method="post" action="" id="form" name="form">
<input type="checkbox" id="check1" name=checkarray[] value=0 >
<input type="checkbox" name=checkarray[] value=0 id="check2" checked="checked">
<input name="email" value="" id="mail" type="text">
<input type="button" onclick=verifica() value="verifica">

Grazie a entrambi:byebye:
 

Discussioni simili