- crei un nuovo box come quelli che ci sono per gli errori e la notifica di invio e gli assegni il nome "errore_privacy"
- inserisci un checkbox nello stage e gli dai come nome di istanza "checkbox"
- modifichi il codice aggiungendo un if di verifica del checkbox sul pulsante di invio
- aggiungi un "case 4" nella casistica di eventi della funzione "alert_report"
il codice modificato secondo le indicazioni:
Codice PHP:
message_duration = 2000;
errore_invio._alpha = 0;
errore_server._alpha = 0;
errore_mail._alpha = 0;
errore_privacy._alpha = 0;
notifica_inviato._alpha = 0;
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();
};
};
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;
};
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);
};
var alert_report:Function = function (c:Number) {
switch (c) {
case 0 :
notifica_inviato.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
notifica_inviato.fadeAlpha(0);
clearInterval(intv);
}, message_duration);
};
notifica_inviato.fadeAlpha(100);
break;
case 1 :
errore_invio.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
errore_invio.fadeAlpha(0);
clearInterval(intv);
}, message_duration);
};
errore_invio.fadeAlpha(100);
break;
case 2 :
errore_server.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
errore_server.fadeAlpha(0);
clearInterval(intv);
}, message_duration);
};
errore_server.fadeAlpha(100);
break;
case 3 :
errore_mail.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
errore_mail.fadeAlpha(0);
clearInterval(intv);
}, message_duration);
};
errore_mail.fadeAlpha(100);
break;
case 4 :
errore_privacy.onFadeDone = function() {
this.onFadeDone = undefined;
var intv = setInterval(function () {
errore_privacy.fadeAlpha(0);
clearInterval(intv);
}, message_duration);
};
errore_privacy.fadeAlpha(100);
break;
}
};
var campi:Array = new Array("nome", "ditta", "ruolo", "mail", "tel", "messaggio");
var campiObbligatori:Array = new Array("nome", "mail", "messaggio");
this["mail"].restrict = "^ ";
for (var i = 0; i<campi.length; i++) {
var l:Number = i+1;
this[campi[i]].tabIndex = l;
}
invia_form.onRelease = function() {
if(!(checkbox.selected)){
alert_report(4);
} else {
var lv_sendMail:LoadVars = new LoadVars();
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;
}
if (m>=campi.length-1) {
lv_sendMail.sendAndLoad("sendmail.php", lv_sendMail, "POST");
}
}
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);
}
};
}
};
reset_form.onRelease = function() {
for (var r = 0; r<campi.length; r++) {
this._parent[campi[r]].text = "";
}
};