Chiedo aiuto per un problema per me (non conosco purtroppo javascript), irrisolvibile.
ho una pagina con un form e lo script che fa il validate. la parte finale è stata da me "modificata" ad intuito con un taglia e incolla per aggiungere alla verifica dei campi, anche quella di una casella checkbox (che deve essere spuntata per inviare il form).
su firefox funziona tutto a meraviglia, su IE7 invece un errore rende tutto inutilizzabile. Pare che "SPUNTA" (che nel form è il "name" e "id" della checkbox) non sia definito o non sia un oggetto.
il riferimento è a questa istruzione "if(spunta.checked==false) errors+='Privacy terms authorization needed | Accettare norme privacy\n' ;"
se aggiungo "var spunta" l'errore non compare più ma viene ignorata e non funziona nè su ie7 nè su firefox.
qualcuno mi può aiutare?
mille grazie, di seguito ecco lo script
alessandro
<script type="text/JavaScript">
<!--
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required. | inserimento necessario\n'; }
}
if(spunta.checked==false) errors+='Privacy terms authorization needed | Accettare norme privacy\n' ;
if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
......
<form action="/includes/inviomail.asp" method="POST" onsubmit= "MM_validateForm('email','','RisEmail','name','',' R','tel','','R','surname','','R','address','','R', 'city','','R','zip','','R','prov','','R','strstate ','','R','strprivacy','','R','password','','R','me ssage','','R');return document.MM_returnValue;" >
........