Foros del Web » Programando para Internet » Javascript »

Comprobacion de Formulario da error en Firefox

Estas en el tema de Comprobacion de Formulario da error en Firefox en el foro de Javascript en Foros del Web. Hola con ayuda de una persona del foro cree el siguiente modulo para comprobar un formulario antes de enviarlo, en el explorer funciona perfectamente pero ...
  #1 (permalink)  
Antiguo 03/06/2011, 15:42
Avatar de ramiguens  
Fecha de Ingreso: mayo-2011
Mensajes: 57
Antigüedad: 12 años, 11 meses
Puntos: 4
Comprobacion de Formulario da error en Firefox

Hola con ayuda de una persona del foro cree el siguiente modulo para comprobar un formulario antes de enviarlo, en el explorer funciona perfectamente pero en firefox me va marcando en rojo todos campos incluso antes de enviarlo y al darle a enviar me pone "Por favor, ajustese al formato solicitado" agradezco cualquier aporte el codigo es el siguiente:

(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;
if(!(e.type == "text" || e.type == "password" || e.type == "checkbox") ) 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";

var Password = this;
var pattern = Password.getAttribute("pattern");
var value = this.value;
if (value.search(pattern) == -1) Password.className = "invalid";
else Password.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.type == "password")
{
if (e.onchange == validateOnChange)
{
e.onchange();
if (e.className == "invalid") invalid = true;
}
}
if(e.type=="checkbox" && e.name=="privacidad" && e.checked==0 ) invalid = true;
}
if(invalid)
{
alert('Campos obligatorios sin cubrir, rellene los campos y acepte los términos y condiciones.');
return false;
}
}
})();

Etiquetas: comprobacion, firefox, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.