• User Attivo

    Campi required

    E' possibile imporre la funzione required ad un campo come si fa con i form in html?
    Premetto che ho usato campi di text input, con nomi delle variabili assegnati.
    Sarebbe possibile al limite richiedere che in un campo e-mail l'input immesso sia del tipo [email]xx@xxxxx.com[/email]?
    Con almeno due caratteri prima di "@", dei caratteri dopo, il punto e almeno altri due caratteri?


  • User Newbie

    io penso che dovresti fare un controllo con javascript almeno impostandolo una funzione controlla Mail e lanciandola sul focus del contrrollo successivo al campo email :

    <script language="javascript">
    if document.forms.elements["email"].
    </script>

    Qua poi dovresti fare un controllo usando le funzioni delle stringhe
    Adesso provo un poco appena trovo come fare ti scrivo pure la funzione

    <form>
    .
    .
    <input type="text" name="email">
    <input type="text" name="telefono" onfocus="controllaMail">
    .
    .
    .
    </form>


  • User Attivo

    il flash si appoggia ad un php per funzionare, non l'ho scritto l'altra volta.


  • Super User
    
    campiObbligatori = new Array&#40;"nome","cognome","messaggio"&#41;;
    campiObbligatori.reverse&#40;&#41;;
    
    function checkAll&#40;&#41; &#123;
    	errorMessage.text = "";
    	errore = false;	
    	//
    	checkMe&#40;"email"&#41;;
    	//
    	for&#40;var i=0;i<campiObbligatori.length;i++&#41;&#123;
    		if &#40;_root&#91;campiObbligatori&#91;i&#93;&#93;.text.length <= 0&#41; &#123;
    			stringErrore = "Campo " + campiObbligatori&#91;i&#93; + " obbligatorio, Grazie";
    			errore = true;
    		&#125;
    	&#125;
    	//
    &#125;
    
    function checkMe&#40;me&#41; &#123;	
    	// controlla se c'è un solo "@"
    	var count = 0;
    	for&#40;var i=0;i<_root&#91;me&#93;.text.length;i++&#41; &#123;
    		if &#40;_root&#91;me&#93;.text.charAt&#40;i&#41; == "@"&#41; &#123;
    			count++;
    		&#125;
    	&#125;
    	if &#40;count != 1&#41; &#123; errore = true; &#125;
    	
    	// controlla se c'è " "
    	var count = 0;
    	for&#40;var i=0;i<_root&#91;me&#93;.text.length;i++&#41; &#123;
    		if &#40;_root&#91;me&#93;.text.charAt&#40;i&#41; == " "&#41; &#123;
    			count++;
    		&#125;
    	&#125;
    	if &#40;count != 0&#41; &#123; errore = true; &#125;
    		
    	// se non c'è errore
    	// divide in due stringhe divise da "@"
    	// e le analizza singolarmente
    	if &#40;!errore&#41; &#123;
    		dividi = _root&#91;me&#93;.text.split&#40;"@"&#41;;
    		if &#40;dividi&#91;0&#93;<1&#41; &#123; errore = true; &#125;
    		if &#40;dividi&#91;1&#93;.indexOf&#40;"."&#41;<0&#41; &#123;
    			errore = true;
    		&#125; else &#123;
    			dominio = dividi&#91;1&#93;.split&#40;"."&#41;;
    			if &#40;dominio&#91;0&#93;.length<2&#41; &#123; errore = true; &#125;
    			if &#40;dominio&#91;1&#93;.length<2&#41; &#123; errore = true; &#125;
    		&#125;
    	&#125; else &#123;
    		stringErrore = "Inserire e-mail corretta, Grazie";
    	&#125;
    	
    &#125;
    
    _root.submit.onPress = function &#40;&#41; &#123;
    	checkAll&#40;&#41;;
    	//
    	if &#40;errore&#41; &#123; // se errore = true
    		errorMessage.text = stringErrore;
    	&#125; else &#123; // se errore diverso da true
    		// invia il form
    		var variabile = new LoadVars &#40;&#41;;
    		//
    		for&#40;var i=0;i<campi.length;i++&#41;&#123;
    			variabile&#91;campi&#91;i&#93;&#93; = _root&#91;campi&#91;i&#93;&#93;.text;
    		&#125;
    		variabile.sendAndLoad&#40;"flashmailme.pl", variabile, "POST"&#41;;	
    		//
    		variabile.onLoad = function &#40;success&#41; &#123;
    			if &#40;success && variabile.leggimi&#41; &#123;
    				_root.sendLoad = variabile.leggimi;
    			//&#125; else &#123;
    				//sendLoad.text = "SI E' VERIFICATO UN ERRORE";
    			&#125;
    		&#125;;
    	&#125;
    &#125;
    

    Questo deriva dal vecchio tutorial di sephirot (mi sembra)

    Qui c'è tutto ma non mi ricordo più niente, l'ho fatto l'anno scorso... Con la funzione check me("nomedellamail") controlli l'email, mentre aggiungendo i nomi delle caselle di input al primo array controlli se sono riempiti o meno.

    Il parametro flashmailme.pl va cambiato con l'indirizzo del tuo modulo php, se invece del post usi il get devi cambiare anche quello.

    Il php deve restituire come risultato &leggimi=qualunque messaggio di errore o conferma.
    Questo verrà letto automaticamente dal flash e poi assegnato alla casella dinamica sendLoad.

    Poi serve un'altra casella dinamica chiamata errorMessage.