Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2011, 17:13
Avatar de ramiguens
ramiguens
 
Fecha de Ingreso: mayo-2011
Mensajes: 57
Antigüedad: 13 años
Puntos: 4
Validar Formulario con Javascript

Buenas, antes de nada daros las gracias, indicar que mi duda es la siguiente, he encontrado un codigo para validar los campos antes de enviar un formulario me funciona bien con los TEXTFIELD me detecta si estan cubiertos y si no lo estan me da un error al dar a enviar y me los colorea poniendo una opcion en el css mi problema es que tambien quiero que me valide que tengan cubierto un campo contraseña y su confirmacion asi como un checkbox de conformidad y no se como hacerlo, el codigo es el siguiente coloreo en rojo lo que creo que es la parte que dice que valide los textfield, agradezco cualquier ayuda.

(function()
{
if(window.addEventListener) window.addEventListener("load", init, false);
else if (window.attachEvent) window.attachEvent("onload", init);

function init()
{
for(var i=0; i < document.forms.length; i++)
{
var f = document.forms[i];
var needsValidation = false;
for(j = 0; j < f.elements.length; j++)
{
var e = f.elements[j];
if(e.type != "text") continue;
var pattern = e.getAttribute("pattern");
var required = e.getAttribute("required") != null;

if (required && !pattern)
{
pattern = "\\S";
e.setAttribute("pattern", pattern);
}
if (pattern)
{
e.onchange = validateOnChange;
needsValidation = true;
}
}
if (needsValidation) f.onsubmit = validateOnSubmit;
}
}
function validateOnChange()
{
var textfield = this;
var pattern = textfield.getAttribute("pattern");
var value = this.value;
if (value.search(pattern) == -1) textfield.className = "invalid";
else textfield.className = "valid";

}
function validateOnSubmit()
{
var invalid = false;
for(var i=0; i < this.elements.length; i++)
{
var e = this.elements[i];
if(e.type == "text" && e.onchange == validateOnChange)
{
e.onchange();
if (e.className == "invalid") invalid = true;
}
}
if(invalid)
{
alert('invalido');
return false;
}
}
})();