Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Testo input...

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    238

    Testo input...

    Ciao a tutti...
    avete presente quei form in flash per invio dati?...beh ci sono quelle text input che di default all'interno hanno per esempio: NOME o TELEFONO ecc e quando clicchi all'interno del testo di input il testo di default sparisce...e puoi iniziare a scrivere.

    Come si realizza questa funzione? Avete qualke esempio da girarmi?

    Grazie Ciao

  2. #2
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    [edit]
    Crea i tuoi campi di input e dai a tutti un nome istanza, per esempio nome_txt e telefono_txt. Lascia vuoti i campi.

    Scrivi questo codice sul frame principale:
    codice:
    TextField.prototype.svuota = function(testoIniziale) {
    	this.text = testoIniziale;
    	this.onSetFocus = function() {
    		if (this.text == testoIniziale) {
    			this.text = "";
    		}
    	};
    	this.onKillFocus = function() {
    		if (this.text == "") {
    			this.text = testoIniziale;
    		}
    	}
    };
    nome_txt.svuota("Nome");
    telefono_txt.svuota("Telefono");
    Come vedi dalla parte in grassetto il testo dei campi viene impostato da codice.
    Dunque ogni volta che vorrai inserire una nuovo campo nella tua form dovrai anche ricordarti di aggiungere il codice nomeIstanzaCampo.svuota("Testo Iniziale");


  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    238
    Ok grazie mille funziona!!!

  4. #4
    scusate se riprendo questo topic.
    In questo modo, però, non posso più effettuare il controllo sul campo se è vuoto o meno ed attivare, nel primo caso, il messaggio ad esempio.: "riempire il campo nome, per favore",
    mi considera il campo già compilato...

    Avete qualche suggerimento per aggirare cmq il problema oppure devo rinunciare ad uno dei due procedimenti?

    Un'altra richiesta, come faccio ad attivare un controllo sull'indirizzo email inserito che almeno contenga la "@"?

    Grazie

  5. #5
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Usando questo procedimento è impossibile che il campo sia vuoto, in quanto se un utente lo lascia vuoto, quando farà il killFocus, il campo si ricomplierà con il parametro passato alla funzione svuota.
    Dunque al posto di controllare se il campo è vuoto, controllerai se il suo testo corrisponde a "Nome" oppure a "Telefono" e così via.

    Per quanto riguarda il controllo della email, qui trovi una funzione di andr3a che testa la correttezza della sintassi. Funziona alla perfezione.

    Se dovessi avere dei problemi con una delle due questioni, domani avverti che continuiamo, adesso vado a

  6. #6
    Grazie!
    Ora provo.

  7. #7
    Codice PHP:
    email.restrict "0-9a-z_@.\\-";
    inser.onRelease = function() {
        if (
    checkMail(email.text) && news != "indirizzo di posta elettronica") {
            
    newscod escape(news);
            
    invio 1;
            
    output "invio in corso...";
            
    loadVariables("mail.php"this"POST");
        } else {
            
    output "inserisci un indirizzo email valido, per favore";
        }
    }; 
    Ciao
    ho il mio bel pulsante istanziato inser, ho il mio campo di testo istanziato email (variabile news) a cui con l'altra funzione attribuisco il valore "indirizzo di posta elettronica", l'onRelease mi dovrebbe controllare che i caratteri siano quelli contenuti nel restrict e che il campo news sia diverso da "indirizzo....".
    Il problema è che mi chiede sempre di inserire l'indirizzo corretto.
    Cosa non va?

    P.S.: si tratta di una registrazione newsletters, quindi con un solo campo.

    Grazie

    Questa è l'altra funzione se interessa:
    Codice PHP:
    news "";
    TextField.prototype.svuota = function(testoIniziale) {
        
    this.text testoIniziale;
        
    this.onSetFocus = function() {
            if (
    this.text == testoIniziale) {
                
    this.text "";
            }
        };
        
    this.onKillFocus = function() {
            if (
    this.text == "") {
                
    this.text testoIniziale;
            }
        };
    };
    email.svuota("indirizzo di posta elettronica"); 

  8. #8
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Allora, premetto che lavoro e pubblico con flash 8 AS2.
    Direi prima di tutto di abbandonare l'uso delle variabili per i campi di testo e di usare solo i nomi di istanza.
    Ti illustro come ho proceduto io in modo che tu possa seguire e testare il corretto funzionamento.

    Ho posizionato due campi di testo sullo stage istanziati:
    email_txt
    output_txt


    Ho creato un movieClip da utilizzare come bottone e l'ho istanziato inser_mc

    Sul frame della root ho inserito il seguente codice:
    codice:
    var checkMail:Function = function (mail:String):Boolean {
    	var mailSplitted:Array = mail.split("@");
    	if (mailSplitted.length == 2 && mailSplitted[0].length>1 && mailSplitted[1].length>3) {
    		var subSplitted:Array = mailSplitted[1].split(".");
    		if (subSplitted.length>=2) {
    			var subPrefix:String = new String("");
    			for (var a:Number = subSplitted.length-2; a>=0; a--) {
    				subPrefix += subSplitted[a];
    			}
    			if (subPrefix.length>1) {
    				subPrefix = new String(subSplitted[subSplitted.length-1]);
    				if (subPrefix.length>1 && subPrefix.length<7) {
    					return true;
    				}
    			}
    		}
    	}
    	return false;
    };
    TextField.prototype.svuota = function(testoIniziale) {
    	this.text = testoIniziale;
    	this.onSetFocus = function() {
    		if (this.text == testoIniziale) {
    			this.text = "";
    		}
    	};
    	this.onKillFocus = function() {
    		if (this.text == "") {
    			this.text = testoIniziale;
    		}
    	};
    };
    email_txt.restrict = "0-9a-z_@.\-";
    email_txt.svuota("indirizzo di posta elettronica");
    inser_mc.onRelease = function() {
    	if (checkMail(email_txt.text)) {
    		newscod = escape(news);
    		invio = 1;
    		output_txt.text = "invio in corso...";
    		loadVariables("mail.php", this, "POST");
    	} else {
    		output_txt.text = "inserisci un indirizzo email valido, per favore";
    	}
    };
    Funziona perfettamente

    Come vedi non è necessario controllare la doppia condizione nell'if, in quanto la funzione checkMail verifica già autonomamente
    Ah, piccolo appunto: il restirct non c'entra nulla con quello che hai scritto sopra, semplicemente restringe i caratteri che possono essere inseriti nel campo di testo.


  9. #9
    Infatti.
    Funziona alla perfezione.

    Grazie mille della gentilezza.

  10. #10
    Utente di HTML.it L'avatar di gobbo89
    Registrato dal
    Jun 2006
    Messaggi
    816
    Di nulla

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.