Holas mis queridos amigos del cyberespacio!!!!
Tengo un formulario, qeu la base fue tomada the flaform que extraje de este sitio...
Agregue mas opciones.. entre ellas 4 combobox de numeros para elegir cantidades y 2 combobox para elegir colores.
Estoy tratando de validar dicha informacion. De los 4 combobox de cantidades al menos debe estar completa uno de ellos.. o sea, puede completarse uno de ellos o los cuatro de esos combobox.. pero al menos uno debe indicar la cantidad. Pero con los combobox de los colores solo uno de ellos deberia completarse. supuestamente la validacion se hace cuando presiono el boton SEND.. y verifica que todos los campos obligatorios esten completos. Siempe uso el operador logico AND, pero en el caso de los 4 combobox, como por lo menos uno de ellos debe estar completo, uso el operador logico OR.
Pero hay algo que no funciona porque aun sin completar nada sigue enviando el formulario.. aca transcribo el script completo del formulario y mas adelante el script del boton SEND...
El script general de ese formulario es...
var subject = "Order One Color Name Riders";
var MailFrom = "email";
var cant1 = "";
var cant2 = "";
var cant3 = "";
var cant4 = "";
var color1 = "None";
var color2 = "None";
objeto = new Object();
objeto.change = function(evt) {
trace(cantidad1.getValue());
_root.cant1 = cantidad1.getValue()
};
cantidad1.addEventListener("change", objeto);
objeto = new Object();
objeto.change = function(evt) {
trace(cantidad2.getValue());
_root.cant2 = cantidad2.getValue()
};
cantidad2.addEventListener("change", objeto);
objeto = new Object();
objeto.change = function(evt) {
trace(cantidad3.getValue());
_root.cant3 = cantidad3.getValue()
};
cantidad3.addEventListener("change", objeto);
objeto = new Object();
objeto.change = function(evt) {
trace(cantidad4.getValue());
_root.cant4 = cantidad4.getValue()
};
cantidad4.addEventListener("change", objeto);
objeto = new Object();
objeto.change = function(evt) {
trace(colback.getValue());
_root.color1 = colback.getValue()
};
colback.addEventListener("change", objeto);
objeto = new Object();
objeto.change = function(evt) {
trace(coltext.getValue());
_root.color2 = coltext.getValue()
};
coltext.addEventListener("change", objeto);
function setCombos() {
coltext.addItem("-----------", 0);
colback.addItem("-----------", 0);
for (var a = 1; a<=10; a++) {
coltext.addItem(a, a);
colback.addItem(a, a);
}
coltext.addEventListener("change", checkCombo);
colback.addEventListener("change", checkCombo);
}
function checkCombo(obj:Object) {
trace(obj.target._name);
switch (obj.target._name) {
case "coltext" :
//"Selecciono del Combo1"
if (obj.target.selectedIndex != 0) {
//Bloqueamos el combo 2
obj.target._parent.colback.enabled = false;
} else {
//Si es el primer item del combo -------- DesBloqueamos el combo2
obj.target._parent.colback.enabled = true;
}
break;
case "colback" :
//"Selecciono del Combo1"
if (obj.target.selectedIndex != 0) {
//Bloqueamos el combo 2
obj.target._parent.coltext.enabled = false;
} else {
//Si es el primer item del combo -------- DesBloqueamos el combo2
obj.target._parent.coltext.enabled = true;
}
break;
}
}
setCombos ();
objeto = new Object();
objeto.change = function(evt) {
trace(cardmonth.getValue());
_root.mes = cardmonth.getValue()
};
cardmonth.addEventListener("change", objeto);
objeto = new Object();
objeto.change = function(evt) {
trace(cardyear.getValue());
_root.ano = cardyear.getValue()
};
cardyear.addEventListener("change", objeto);
function borrar() {
company = "";
contact = "";
address = "";
phone = "";
mensaje = "";
creditcard = "";
}
function enviar() {
var enviar = new LoadVars();
enviar.company = company;
enviar.contact = contact;
enviar.address = address;
enviar.phone = phone;
enviar.cant1 = cant1;
enviar.cant2 = cant2;
enviar.cant3 = cant3;
enviar.cant4 = cant4;
enviar.mensaje = mensaje;
enviar.color1 = color1;
enviar.color2 = color2;
enviar.mes = mes;
enviar.ano = ano;
enviar.creditcard = creditcard;
enviar.subject = subject;
enviar.MailFrom = MailFrom;
enviar.onLoad = function(success) {
getURL ("javascript:alert('Your order was sent it. We appreciate your business with Us!!!')");
borrar();
};
enviar.sendAndLoad("http://www.ppe.com/flaform.php", enviar, "POST");
this.loadMovie("services.swf");
}
y el script qeu llevaria el boton SEND donde antes de enviarlo debe validar la informacion y que todo este bien es este... (Aclaracion las variables de los combos de cantidades son cant1, cant2, cant3 y cant4)
on (release) {
Hoy_date = new Date();
var mes1 = Hoy_date.getMonth()+1;
var ano1 = Hoy_date.getFullYear();
if (mes<mes1) {
if (ano<=ano1) {
getURL ("javascript:alert('The Exp. Date is wrong. Please, complete with the right date.')");
} else {
if (company != null && contact != null && address != null && phone != null && mensaje != null && creditcard != null && mes != null && ano != null && ((cant1 != null) || (cant2 != null) || (cant3 != null) || (cant4 != null))) {
enviar();
} else {
getURL ("javascript:alert('Please complete all information required with *. Thank You!!!')");
}
}
}else {
if (ano<ano1) {
getURL ("javascript:alert('The Exp. Date is wrong. Please, complete with the right date.')");
} else {
if (company != null && contact != null && address != null && phone != null && mensaje != null && creditcard != null && mes != null && ano != null && ((cant1 != null) || (cant2 != null) || (cant3 != null) || (cant4 != null))) {
enviar();
} else {
getURL ("javascript:alert('Please complete all information required with *. Thank You!!!')");
}
}
}
}
Se los agradeceria infinitamente si alguien puede verificar donde me equivoco y gracias...