Ciao a tutti sto tentando di fare dei controlli sui campi di una form da poter riutilizzare in futuro.
solo che ho qualche problemino.. eheh ^^
l'idea di fondo è che vorrei inviare alle funzioni l'id del campo e quello del form
in modo da poter riutilizzare ogni volta le funzioni
e poter usarle anche in una pagina in cui magari ci siano 2 form diversi
con validazione campi (per questo passo anche l'id del form)
SOLO che... alcune funzioni non vanno... e non capisco il motivo...
pensavo di riferirmi al campo in questo modo:
document[form][campo].selectedIndex>0
solo che mi dice document[form][campo] is undefined....
e non capisco.. visto che ad esempio la funzione nomecognome funziona correttamente.
vi mostro il codice, che così ci si spiega meglio
funzione JS funziona
funzioni JS che NON funzionano... ?_?codice:function controllo_nomecognome(form,campo) { /* Spiegazione della Regular Expression NomeCognome ^[a-zA-Z]{1} -> primo carattere una lettera [a-zA-Z\u00C0-\u00F6\u00F8-\u00FF\'\s]{2,29} -> da 2 a 29 lettere + à è é ò ù ì ' e lo spazio per i caratterei accentati ho dovuto usare delle sequenze unicode */ var RegExpNomeCognome = /^[a-zA-Z]{1}[a-zA-Z\u00C0-\u00F6\u00F8-\u00FF\'\s]{2,29}$/; var strNomeCognome = document[form][campo].value; //controllo che il Cognome sia nel corretto formato if(!RegExpNomeCognome.test(strNomeCognome)) { return(false); } else { return(true); } }
sulla pagina phpcodice://controlla che nel menu a tendina non sia selezionato il primo valore (solitamente "scegli...") function controllo_campiselect(form,campo) { //if (document[form][campo].selectedIndex>0) { //if (document.form_registrazione[campo].selectedIndex>0) { if (document.getElementById(campo).selectedIndex>0) { return (true); } else { return (false); } } //controllo cap function controllo_cap(form,campo) { /* Spiegazione della Regular Expression CAP ^[0-9]{5}$ -> il primo e l'ultimo carattere deve essere un numero tra [0-9] e il numero è composto da 5 cifre */ var RegExpCAP = /^[0-9]{5}$/; var strCAP = document[form][campo].value; //controllo che il Cap sia nel corretto formato if(!RegExpCAP.test(strCAP)) { return(false); } else { return(true); } }
codice formcodice:if(!controllo_nomecognome("form_registrazione","nome")) { inf+="- " + "<?php echo JText::_('LANG_ALERT_NOME'); ?>" + "\n"; } if(!controllo_campiselect("form_registrazione","citta")) { inf+="- " + "<?php echo JText::_('LANG_ALERT_CITTA'); ?>" + "\n"; } if(!controllo_cap("form_registrazione","cap")) { inf+="- " + "<?php echo JText::_('LANG_ALERT_CAP'); ?>" + "\n"; }
codice:<form id="form_registrazione" name="form_registrazione" method="POST" > <input type="hidden" id="azione" name="azione" value="" /> <div id="campo_nome" class="riga_form"> <div class="label"> <label for="lblnome"><?php echo JText::_('LANG_CAMPO_NOME'); ?>: </label> </div> <div class="campo"> <input id="nome" name="nome" type="text" value="<?php echo $_POST['nome']; ?>" size="30" /> </div> <div class="clear"></div> </div> <div id="campo_cap" class="riga_form"> <div class="label"> <label for="lblcap"><?php echo JText::_('LANG_CAMPO_CAP'); ?>: </label> </div> <div class="campo"> <input id="cap" name="cap" type="text" value="<?php echo $results; ?>" size="30" /> </div> <div class="clear"></div> </div>

Rispondi quotando
