Foros del Web » Programando para Internet » Javascript »

Esta función de validación me da errores

Estas en el tema de Esta función de validación me da errores en el foro de Javascript en Foros del Web. Buenas, Esta función me da errores en Internet Explorer, "Este objeto no acepta esta función", la función es esta: Código PHP: function  compruebatipos ( errormsg ...
  #1 (permalink)  
Antiguo 26/08/2008, 02:40
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Esta función de validación me da errores

Buenas,

Esta función me da errores en Internet Explorer, "Este objeto no acepta esta función", la función es esta:

Código PHP:
function compruebatipos(errormsg){
 
seleccionados 0;
 
formcomprar document.getElementById("formcomprar");
 for(
i=0;i<formcomprar.elements.length;i++) {
  var 
elemento formcomprar.elements[i];
  if(
elemento.type == "radio") {
   if(
elemento.checked) {
    if(
elemento.value == "{0};0") {
     
seleccionados += 1;
    }
   }
  }
  if(
elemento.type == "select-one") {
   if(
elemento.value == "{0};0") {
    
seleccionados += 1;
   }
  }
 }
 
 if(
seleccionados 0) {
  
alert(errormsg);
  return 
false;
 } else {
  return 
true;
 }

En principio el error me lo da en:
for(i=0;i<formcomprar.elements.length;i++) {

Lo que hace esto es recorrer todo el formulario comprobando que ningun radiobutton ni ningún select contengan la opción "{0};0" seleccionada, si es así pues da un error.

El problema es que el número de selects y radiobutton puede ser indeterminado, es decir, no sé nunca cuantos habrán porque se generan automáticamente.

¿Alguien sabe que tengo que corregir para que no de el error?

Mil gracias.
  #2 (permalink)  
Antiguo 26/08/2008, 02:53
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Esta función de validación me da errores

Hola pempas. Prueba a poner en vez de
formcomprar = document.getElementById("formcomprar");
esto:
formcomprar=document.forms["formcomprar"];

Además, para comprobar si existe un elemento creo que esto podria valer:
if(formcomprar.elements[i])
//Si se cumple existe

A ver si te funciona. Suerte

Última edición por mcventur; 26/08/2008 a las 03:03
  #3 (permalink)  
Antiguo 26/08/2008, 03:03
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Respuesta: Esta función de validación me da errores

mcventur, gracias por tu comentario pero la línea afectada es otra, esta:

for(i=0;i<formcomprar.elements.length;i++) {

O en principio esa es la que marca IE, con lo que me has enviado no me ha funcionado, me da el mismo error.

Un saludo.
  #4 (permalink)  
Antiguo 26/08/2008, 03:06
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Respuesta: Esta función de validación me da errores

ya está solventado!

El problema era el nombre de la variable, le he puest fomrcomprar1 y ha funcionado, que chorrada, cosas de internet explorer...

Gracias de todos modos!
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 00:14.