Comunidad de diseño web y desarrollo en internet online

Validacion de radiobuttom algo complicado

Citar            
MensajeEscrito el 02 Dic 2008 12:15 am
Hola a todos, tengo una consulta referente a los famosos radiobuttoms es la siguiente.

Tengo un formulario de busqueda que da como resultado un listado de las coincidencias, esas coincidencias tienen un radiobuttom para confirmar de la lista el articulo que se quiere seleccionar, no tengo ningun problema para validar los radio cuando son varios, mi problema nace cuando el resultado da un unico registro por lo que la validacion nunca se lleva a cabo ya que como parte fundamental de la validacion es un bucle for que recorre cada radio hasta que la cuenta de radios termina... pero cuando solo hay un radio la funcion de javascript length da como resultado undefined por lo que nunca se valida ese unico radio.

Alguien me puede hechar una mano????

El lenguaje que estoy usado para procsar el formulario es php.

Espero no haberos aburrido con tanta charla y espero tambien haberme explicado correctamente.

Gracias de antemano.

Por elbeto

3 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 Dic 2008 12:37 pm
Bueno despues de mirar mucho he solucionado mi problema, aprovecho para comentaros la solucion por si hubiera alguien que este o que pudiera verse en esta misma circustancia.

Mi principal problema era creer que solo con acceder a la matriz que guarda los elementos "radio" era suficiente y habria sido asi si siempre hubiera mas de un elemento "radio" pero debido a la naturaleza de mi scrip siempre hay posibilidades de que solo haya 1 solo elemento "radio" por lo que la matriz no me sirve ya que cuando solo hay un elemento "radio" la matriz de elemtos "radio" no se crea.

Solucion: muuuuuyyyy simple (hay siempre lo mas sencillo es en lo ultimo que se piensa).

Lo que hago ahora es recorrerme siempre todos los elemtos de la matriz del formulario dondes se encuentran los elemetos de la presentacion junto a los "radio", despues en cada pasada compruebo si el elemento actual que estoy revisando es o no un "radio" si es un radio compruebo su vez que este o no marcado o sea "checked = true" y si es verdadero cojo el valor de ese "radio" ya que no se puede marcar mas de uno a la vez.

Os adjunto el codigo para que lo podais ver, valorar criticar... etc.

Código :

   
function validar_radio(formu)
{
   var marcado = "no";
       var num_elementos = formu.elements.length;
          
   for ( var i = 0; i < num_elementos; i++ ) 
       {
           if (formu.elements[i].type == "radio") 
              {            
               if(formu.elements[i].checked == true)
                {
                        marcado = true;
                        alert(formu.elements[i].value);
                     }
              }
      }

       if ( marcado == "no" )
       {
      window.alert("Debe seleccionar un elemento." ) ;
       }
}



Espero os sirva de ayuda.
:D

Por elbeto

3 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.