Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aiuto per controllo campi, riferimento a id campi nel form.

    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
    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); 
    	  }
    }
    funzioni JS che NON funzionano... ?_?
    codice:
    //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); 
    	  }
    }
    sulla pagina php
    codice:
    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
    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>

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) Non usare form come variabile essendo una parola riservata
    B) Se vuoi fartelo leggi qui
    C) Se vuoi usare jquery leggi qui
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    ti ringrazio vado a leggere... ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.