Comunidad de diseño web y desarrollo en internet online

Radio button en Ajax

Citar            
MensajeEscrito el 27 May 2006 02:36 pm
Saludos:

Tengo un problema pequeño y ya no sé por donde encontrarle, estoy haciendo una encuesta y como estoy metiendome apenas con el AJAX y demás, decidí hacerla en Ajax para ir dandole un uso ya en mis desarrollos, el detalle que tengo es que no me está pasando los radio button como debe ser, pulse el que pulse siempre me devuelve el valor que tiene el primero, basandome en los tutoriales de Sisco y Fael, este es mi código

Código :

function LoadContentEncuesta()
{
   var cont, ide, res;
   cont = document.getElementById('ajax-encuesta');
   ide = document.getElementById('ide').value;
   res = document.getElementById('res').value;
   nAjax = new Ajax();
   nAjax.open("POST","encuesta.php",true);
   nAjax.onreadystatechange = function()
   {
      if(nAjax.readyState==4)
         cont.innerHTML = nAjax.responseText;
   }
   nAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
   nAjax.send("ide=" + ide + "&res=" + res);
      
}


ide es el id de la encuesta, ese pasa bien, pero res es el valor del radio button, y ahí es mi problema, está es mi encuesta:

Código :

echo "<form method='post' action='$PHP_SELF' onSubmit='LoadContentEncuesta(); return false'>";
         echo "<table cellpadding='0' cellspacing='0' width='90%' align='center'>";         
         $sql_r = "select * from bactbl03 where bacide03 = $row[0]";
         $res_r = mysql_query($sql_r, $enlace);
         while($row_r = mysql_fetch_array($res_r))
         {
            echo "<tr>";
               echo "<td id='encuesta-respuesta'><input type='radio' id='res' name='opcion' value='$row_r[bacidr03]' />$row_r[bacres03]-$row_r[bacidr03]</td>";
            echo "</tr>";
         }         
         echo "</table>";
         echo "<input type='hidden' value='$row[0]' name='encuesta' id='ide' />";
         echo "<p><input type='submit' name='ok_enc' value='Votar' class='boton' onPress='LoadContentEncuesta();' /></p>";
         echo "</form>";


Como pueden ver, no es nada del otro mundo, se deben tomar los formularios de otra forma diferente cuando se usa Ajax?

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 29 May 2006 01:47 am
Cuando trabajas con radiobuttons es un poco diferente la cosa, te dejo aqui un ejemplo

Código :

res = document.getElementById('res').value;

En esta linea lo unico qeu haces es agarrar el primer item de el grupo, es por eso que lo tienes qeu hacer asi:

Código :

   function checkForm(id){
      var id = document.forms[id];
      var rb = checkRaddio(id["rb"]);
      alert(rb);
   }
   function checkRaddio(id){
      var x = 0;
      var value = null;
      while(x<id.length){
         if(id[x].checked)value = id[x].value;
         x++;
      }
      return value == null ? "No hay seleccion" : value;
   }


Espero te sirva!!
Saludos!!

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 29 May 2006 12:41 pm
Gracias Cep, ya me funcionó, use la misma checkRaddio que me diste, pero a mi código sólo le pusé esto:

Código :

idform = document.forms['fenc'];


fenc es el id del form y luego substituí:

Código :

res = document.getElementById('res').value;


Por

Código :

res = ChkRadio(idform);


Y listo! ... :D

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 29 May 2006 06:31 pm
T_T ... Ahora no me funciona en IE.... T_T ... seguiré buscando....

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 29 May 2006 10:35 pm
Aoyama, el ejemplo qeu te pase funciona perfectamente en IE.
Tu problema debe de ser otro, porfavor dejame una url para que revise el problema.

Saludos!!!!

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 30 May 2006 05:53 pm
Ya me funcionó Cep, me faltaba el name ... :P je,je parece que en Ie es necesario en este caso en particular...

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox

 

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