Foros del Web » Programando para Internet » Javascript »

Formulario Ayax y type="radio"

Estas en el tema de Formulario Ayax y type="radio" en el foro de Javascript en Foros del Web. Tengo un pequeño incomveniente... Teniendo el siguiente formulario : Aqui pongo solo una parte del mismo.... Código PHP: < form name = "cliente"  onSubmit = "return carga();"  ...
  #1 (permalink)  
Antiguo 03/10/2008, 09:00
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Formulario Ayax y type="radio"

Tengo un pequeño incomveniente...

Teniendo el siguiente formulario :

Aqui pongo solo una parte del mismo....
Código PHP:
<form name="cliente" onSubmit="return carga();" >
Empresa: <input name="empresa" id="empresa" type="text" size="25"/>

//Elementos radio queno se como controlarlo..
<input type="radio" name="codicionIVa" value="1" id="codicionIVa_0">
Con. Final
<
input type="radio" name="codicionIVa" value="2" id="codicionIVa_1">
No Resp.
<
input type="radio" name="codicionIVa" value="3" id="codicionIVa_2">
Excento
<input type="radio" name="codicionIVa" value="4" id="codicionIVa_3">
Monotributo
<input type="radio" name="codicionIVa" value="5" id="codicionIVa_4">
RespInscripto
<input type="radio" name="codicionIVa" value="6" id="codicionIVa_4">
RespNo Inscripto
<input type="radio" name="ci" value="1" id="ci">
Contribuyente Local
<input type="radio" name="ci" value="2" id="ci2">
Convenio Multilateral
</form>
<
div id="formulario">
</
div
Lo recivo con e js siguiente:

Código PHP:
function xmlhttp(){
        var 
xmlhttp;
        try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
        catch(
e){
            try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
            catch(
e){
                try{
xmlhttp = new XMLHttpRequest();}
                catch(
e){
                    
xmlhttp false;
                }
            }
        }
        if (!
xmlhttp
                return 
null;
            else
                return 
xmlhttp;
    }
function 
carga(){
    
        
empresa document.cliente.empresa.value;
        
codicionIVa document.cliente.codicionIVa.value;
        
ci document.cliente.ci.value;
        

        var 
document.getElementById('formulario');
        var 
document.getElementById('cargando');

        var 
ajax xmlhttp();

        
ajax.onreadystatechange=function(){
            
                if(
ajax.readyState==1){
                        
B.innerHTML "Espere por Favor..";
                    }
                    
                if(
ajax.readyState==4){
                        
A.innerHTML ajax.responseText;
                        
B.innerHTML " ";
                    }
            }
        
ajax.open("GET","clientes/query_datos.php?&empresa="+empresa+"&codicionIVa="+codicionIVa+"&ci="+ci,true);
        
ajax.send(null);
        return 
false;

El problema es el siguiente... todo los campos menos los de tipo "radio" pasan perfecto, esto imagino es por que el js no me envia el que esta chequed si no todos...

y cuando lo imprimo desde php... la respuesta es undefined.... como hago para que me envie el que esta seleccionado...

Gracias y espero que se entienda
  #2 (permalink)  
Antiguo 03/10/2008, 09:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: Formulario PHP - Ayax y type="radio"

Es que para saber el elemento seleccionado debes recorrer todo el arreglo de radios hasta encontrar cuál está seleccionado (Javascript).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/10/2008, 09:26
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Respuesta: Formulario PHP - Ayax y type="radio"

Utilice dentro del JS... lo siguiente pero no me funciona...


Código PHP:
var i;
        for(
i=0;i<document.cliente.codicionIVa.length;i++){
              if (
document.cliente.codicionIVa[i].checked)
                      break;
                }
            }
        
codicionIVa document.cliente.codicionIVa[i].value 
Alguna idea... gracias
  #4 (permalink)  
Antiguo 03/10/2008, 09:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: Formulario PHP - Ayax y type="radio"

Es que está sobrando una llave dependiendo de dónde esté ese código, porque al if no le pones llave de apertura pero le pones llave de cierre (como es una única instrucción la llave de cierre es innecesaria).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 03/10/2008, 09:42
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Formulario PHP - Ayax y type="radio"

Si si... eso lo se....


estos serian los 3 type=radio que quiero enviar... pero no me ejectua correctamente el js...


Código PHP:
var i;
        for(
i=0;i<document.cliente.codicionIVa.length;i++){
            
              if (
document.cliente.codicionIVa[i].checked){
                  
codicionIVa document.cliente.codicionIVa[i].value
                  
break;
                }

        }
        
        var 
j;
        for(
j=0;j<document.cliente.ci.length;j++){
            
              if (
document.cliente.ci[j].checked){
                  
ci document.cliente.ci[j].value
                  
break;
                }

        }    
        
        var 
k;
        for(
k=0;k<document.cliente.ctaCte.length;k++){
            
              if (
document.cliente.ctaCte[k].checked){
                  
ci document.cliente.ctaCte[k].value
                  
break;
                }

        } 
  #6 (permalink)  
Antiguo 03/10/2008, 09:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 1 mes
Puntos: 839
Exclamación Respuesta: Formulario PHP - Ayax y type="radio"

¿No será porque estás reemplazando el valor de ci en el tercer bucle?. Estás usando la misma variable para el segundo y el tercer bucle.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 21:57.