- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Campi required
-
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][email protected][/email]?
Con almeno due caratteri prima di "@", dei caratteri dopo, il punto e almeno altri due caratteri?
-
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>
-
il flash si appoggia ad un php per funzionare, non l'ho scritto l'altra volta.
-
campiObbligatori = new Array("nome","cognome","messaggio"); campiObbligatori.reverse(); function checkAll() { errorMessage.text = ""; errore = false; // checkMe("email"); // for(var i=0;i<campiObbligatori.length;i++){ if (_root[campiObbligatori[i]].text.length <= 0) { stringErrore = "Campo " + campiObbligatori[i] + " obbligatorio, Grazie"; errore = true; } } // } function checkMe(me) { // controlla se c'è un solo "@" var count = 0; for(var i=0;i<_root[me].text.length;i++) { if (_root[me].text.charAt(i) == "@") { count++; } } if (count != 1) { errore = true; } // controlla se c'è " " var count = 0; for(var i=0;i<_root[me].text.length;i++) { if (_root[me].text.charAt(i) == " ") { count++; } } if (count != 0) { errore = true; } // se non c'è errore // divide in due stringhe divise da "@" // e le analizza singolarmente if (!errore) { dividi = _root[me].text.split("@"); if (dividi[0]<1) { errore = true; } if (dividi[1].indexOf(".")<0) { errore = true; } else { dominio = dividi[1].split("."); if (dominio[0].length<2) { errore = true; } if (dominio[1].length<2) { errore = true; } } } else { stringErrore = "Inserire e-mail corretta, Grazie"; } } _root.submit.onPress = function () { checkAll(); // if (errore) { // se errore = true errorMessage.text = stringErrore; } else { // se errore diverso da true // invia il form var variabile = new LoadVars (); // for(var i=0;i<campi.length;i++){ variabile[campi[i]] = _root[campi[i]].text; } variabile.sendAndLoad("flashmailme.pl", variabile, "POST"); // variabile.onLoad = function (success) { if (success && variabile.leggimi) { _root.sendLoad = variabile.leggimi; //} else { //sendLoad.text = "SI E' VERIFICATO UN ERRORE"; } }; } }
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.