Visualizzazione dei risultati da 1 a 3 su 3

Discussione: CheckBox in form mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    106

    CheckBox in form mail

    Cia ragazzi come va?
    Come al solito avrei bisogno di una mano, ho un form flash + php e devo inserire un checkbox ma non so come richiamarlo nel codice.
    L'action script è:
    codice:
    errore_invio._alpha = 0;
    errore_server._alpha = 0;
    errore_mail._alpha = 0;
    notifica_inviato._alpha = 0;
    // creo una funzione per il fadeIn/fadeOut degli avvisi
    MovieClip.prototype.fadeAlpha = function(to:Number) {
    	var t:Object = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, this._alpha, to, 1, true);
    	t.path = this;
    	t.onMotionFinished = function() {
    		this.path.onFadeDone();
    	};
    };
    // creo una funzione che verifica che il campo richiamato sia stato riempito e non contenga spazi vuoti
    var validate = function (mail_field:String):Boolean {
    	var temp = this[mail_field].text.split(" ").join("");
    	var r:Boolean = (temp.length<=0) ? false : true;
    	return r;
    };
    // creo la funzione di verifica per il campo mail
    var checkMail:Function = function (target:MovieClip, nameField:String):Boolean {
    	var temp:String = target[nameField].text;
    	temp = temp.split(" ").join("");
    	if (temp.length>0) {
    		if (temp.lastIndexOf("@")>-1) {
    			var temp2 = temp.split("@");
    			if (temp2[1].length>5) {
    				var temp3 = temp2[1].split(".");
    				if (temp3[0].length>2 && temp3[1].length>1) {
    					return (true);
    				}
    				return (false);
    			}
    			return (false);
    		}
    		return (false);
    	}
    	return (false);
    };
    // creo una funzione che viene richiamata al tentativo di invio
    var alert_report:Function = function (c:Number) {
    	switch (c) {
    		//
    		// case 0 -> il primo caso viene richiamato se l'invio è avvenuto correttamente
    	case 0 :
    		notifica_inviato.onFadeDone = function() {
    			this.onFadeDone = undefined;
    			var intv = setInterval(function () {
    				notifica_inviato.fadeAlpha(0);
    				clearInterval(intv);
    			}, 1000);
    		};
    		notifica_inviato.fadeAlpha(100);
    		break;
    		//
    		// case 1 -> il secondo caso viene richiamato se i campi obbligatori non sono stati compilati
    	case 1 :
    		errore_invio.onFadeDone = function() {
    			this.onFadeDone = undefined;
    			var intv = setInterval(function () {
    				errore_invio.fadeAlpha(0);
    				clearInterval(intv);
    			}, 1000);
    		};
    		errore_invio.fadeAlpha(100);
    		break;
    		//
    		// case 2 -> il terzo caso viene richiamato se il server non risponde o se la mail non viene inviata correttamente
    	case 2 :
    		errore_server.onFadeDone = function() {
    			this.onFadeDone = undefined;
    			var intv = setInterval(function () {
    				errore_server.fadeAlpha(0);
    				clearInterval(intv);
    			}, 1000);
    		};
    		errore_server.fadeAlpha(100);
    		break;
    	case 3 :
    		errore_mail.onFadeDone = function() {
    			this.onFadeDone = undefined;
    			var intv = setInterval(function () {
    				errore_mail.fadeAlpha(0);
    				clearInterval(intv);
    			}, 1000);
    		};
    		errore_mail.fadeAlpha(100);
    		break;
    	}
    };
    // creo un array che mi contenga tutti i nomi dei campi di testo che intendo inviare via mail
    var campi:Array = new Array("societa", "nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "fax", "cell", "mail", "contattare", "messaggio");
    // e un altro array che contiene i nomi dei campi obbligatori
    var campiObbligatori:Array = new Array("nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "mail");
    // entrambi gli array appena creati devono essere riproposti in php secondo le istruzioni del file PHP
    //
    // restringo l'immissione di caratteri nel campo mail a quelli necessari
    this["mail"].restrict = "^ ";
    // attivo il TAB per i campi
    for (var i = 0; i<campi.length; i++) {
    	var l:Number = i+1;
    	this[campi[i]].tabIndex = l;
    }
    // attivo l'invio della mail sul pulsante "invia_form"
    invia_form.onRelease = function() {
    	// creo il LoadVars per la comunicazione con il file PHP
    	var lv_sendMail:LoadVars = new LoadVars();
    	// avvio un ciclo che mi verifica se i campi obbligatori sono riempiti
    	// in caso positivo invia i dati al file PHP
    	// in caso negativo attiva l'alert_report -> case 1
    	for (var m = 0; m<campi.length; m++) {
    		if (campiObbligatori.toString().indexOf(campi[m])>=0) {
    			if (validate(campi[m])) {
    				if (campi[m] != "mail") {
    					lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    				} else {
    					if (checkMail(this._parent, campi[m])) {
    						lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    					} else {
    						alert_report(3);
    						break;
    					}
    				}
    			} else {
    				alert_report(1);
    				break;
    			}
    		} else {
    			lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    		}
    		// alla fine delle verifiche, se è tutto apposto, invio i dati             
    		if (m>=campi.length-1) {
    			lv_sendMail.sendAndLoad("sendmail.php", lv_sendMail, "POST");
    		}
    	}
    	// compilo l'evento onLoad della classe LoadVars che mi verifica se l'invio è andato a buon fine o meno
    	// nel caso sia stata inviata attiva l'alert_report -> case 0
    	// altrimenti attiva l'alert_report -> case 2 (errore del server)
    	lv_sendMail.onLoad = function(ok) {
    		if (ok) {
    			if (this.report == "OK") {
    				alert_report(0);
    				reset_form.onRelease();
    			} else {
    				alert_report(2);
    			}
    		} else {
    			alert_report(2);
    		}
    	};
    };
    // il tasto "reset_form" si occupa di svuotare i campi del form
    reset_form.onRelease = function() {
    	for (var r = 0; r<campi.length; r++) {
    		this._parent[campi[r]].text = "";
    	}
    };
    Mentre il php è:
    codice:
    <?
    if(!empty($_POST)){
    	// valori da modificare
    	$address = "xxx@yyyyy.it"; // inserire qui tra le "" la mail a cui va inviato il messaggio
    	$site = "http://..."; // facoltativo, potete inserire qui il nome del sito
    	$object = "Invio mail dal sito $site"; // oggetto
    	//
    	// i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash
    	$campi = array("societa", "nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "fax", "cell", "mail", "contattare", "messaggio");
    	$campiObbligatori = array("nome", "cognome", "indirizzo", "citta", "prov", "cap", "tel", "mail");
    	//
    	// non modificare lo script al di sotto di questa riga
    	//---------------------------------------------------------------//
    	$body = "";
    	$headers = "";
    	$o = (object) '';
    	$s = implode(",", $campiObbligatori);
    	foreach($campi as $value) {
    		$o->$value = (isset($_POST[$value])) ? $_POST[$value] : NULL;
    	}
    	foreach($campi as $value){
    			if(substr_count($s, $value) > 0 && is_null($o->$value)){
    				echo "&report=KO&";
    				break;
    			} else {
    				if(!is_null($o->mail) && $o->$value == $o->mail){
    					$headers.= "From: <".$o->mail.">";
    				}
    				$body.= $value.": ".$o->$value."\r\n";
    				if($value == $campi[count($campi)-1]) {
    					if(!mail($address, $object, $body, $headers)) die("&report=KO&");
    					else echo "&report=OK&";
    				}
    			}	
    	}
    }
    ?>
    Ho provato ad inserirlo nella lista di campi ma nella mail che poi mi arriva nel campo del checkbox c'è scritto undefined...
    Qualcuno mi può aiutare???
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    106
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    106
    up

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.