Salve. Avrei un problema riguardo ad un mio form di registrazione: in internet explorer funziona perfettamente ma quando la pagina viene aperta in safari o firefox lo script mi segnala come errore la mancata immissione della password che invece viene normalmente processata. Il from si occupa della registrazione dei nomi degli utenti nel database per gestione newsletter o altro.
lo script iniziale (magari il problema è nel popup, forse da problemi con browser che non sono IE...boh) che genera la dannata finestra "attenzione, password è obbligatorio" -quando invece è presente nel campo, dannazione- è:
<script language="JavaScript">
<!-- hide from JavaScript-challenged browsers
function openWindow(url) {
popupWin = window.open(url,'new_page','width=400,height=400')
}
function openWindow2(url) {
popupWin = window.open(url,'new_page','width=400,height=450')
}
function openWindow3(url) {
popupWin = window.open(url,'new_page','width=400,height=450,s crollbars=yes')
}
function openWindow4(url) {
popupWin = window.open(url,'new_page','width=400,height=525')
}
function openWindow5(url) {
popupWin = window.open(url,'new_page','width=450,height=525,s crollbars=yes,toolbars=yes,menubar=yes,resizable=y es')
}
// done hiding -->
</script>
<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() { //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+' deve contenere un indirizzo mail valido.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' deve contenere un numero.\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+' deve contenere un numero tra '+min+' e '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' è richiesto.\n'; }
} if (errors) alert('Ci sono i seguenti errori:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
il codice per l'invio e la validificazione è:
<input name="moda" type="hidden" id="moda" value="invia" />
<input name="inserisci" type="submit" class="testo" id="inserisci3" onClick="MM_validateForm('nome','','R','cognome',' ','R','email','','RisEmail','username','','R','pas sword','','R');return document.MM_returnValue" value="Invia" />
Posso postare anche l'url, sempre che non contravvenga alle regole del forum (non voglio far pubblicità gratuita al mio lavoro o ai miei clienti, ci mancherebbe).