Hola
quimfv, gracias por tu respuesta! lo que yo hice es mas o menos asi, haber que opinas, dame tu opinion.
Código HTML:
function nuevoAjax()
{
var xmlhttp=false;
try
{
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
//--
function comprobar1(evento){
var mal=false;
var divMensaje=document[1].getElementById("error");
if(evento=="ingreso")
{
var input=document[1].elements[c].getElementById("ingreso");
var boton=document[1].elements[c].getElementById("botonIngreso");
var valora=input.value;
var textoAccion="Ingresando...";
}
else
{
var input=document[1].elements[c].getElementById("verificacion");
var boton=document[1].elements[c].getElementById("botonVerificacion");
var valora=input.value;
var textoAccion="Comprobando...";
}
for(c=0;c<numero;c++){
if (document[1].elements[c].className=='ningreso')
if (document[1].elements[c].value.length < 10){
document[1].elements[c].style.backgroundColor="#FFD2DB";mal=true;
}else{
document[1].elements[c].style.backgroundColor="white";
}
}
numero=document[1].elements.length;
for(a=0;a<numero;a++){
if (document[1].elements[a].className=='obligatorio')
if (document[1].elements[a].value.length < 10){
document[1].elements[a].style.backgroundColor="#FFD2DB";mal=true;
}else{
document[1].elements[a].style.backgroundColor="white";
}
}
for(b=0;b<numero;b++){
if (document[1].elements[b].className=='resultado')
if (document[1].elements[b].value.length < 2){
document[1].elements[b].style.backgroundColor="#FFD2DB";mal=true;
}else{
document[1].elements[b].style.backgroundColor="white";
}
}
if(mal){
alert("Por favor, complete los campos marcados.");
}else{
boton.disabled=true; input.disabled=true;
input.value=textoAccion;
var ajax=nuevoAjax();
ajax.open("POST", "comprobar.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(evento+"="+valora);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
input.value="";
boton.disabled=false; input.disabled=false;
divMensaje.innerHTML=ajax.responseText;
}
}
document[1].submit()
}
}
En lo personal me ah funcionado bien
compruobar1() lo que pasa es como comente antes, tengo varios formularios, que realizan distintos eventos javascript cada uno, perooooo... resulta que los 8 estan dentro del mismo documento html, entonces para diferencias los procesos tuve que hacer esta jalada de nombrar cada formulario y cada campo, pero asi lo necesito hacer.
Saludos!