Foros del Web » Programando para Internet » Javascript » Frameworks JS »

no me trae el valor del option con internet explorer

Estas en el tema de no me trae el valor del option con internet explorer en el foro de Frameworks JS en Foros del Web. tengo un problema que ya me esta dando dor de cabeza.. tengo un sistema con ajax .. que en mozilla funciona super bien pero al ...
  #1 (permalink)  
Antiguo 11/01/2007, 18:37
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años, 7 meses
Puntos: 0
no me trae el valor del option con internet explorer

tengo un problema que ya me esta dando dor de cabeza.. tengo un sistema con ajax .. que en mozilla funciona super bien pero al revisar con internet explorer pierde los valores del los campos select option

asi lo tomo :

var txttipo = document.getElementById('tipo');


asi lo envio:

XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded", "charset=iso-8859-1");
XMLHttpRequestObject.send("txtnombre="+txtnombre.v alue+"&txtuser="+txtuser.value+"&txtpass="+txtpass .value+"&txttipo="+txttipo.value+"&txtestado="+txt estado.value+"&IDuser="+IDuser.value);


recivo en el php asi:

$Gd_user_tipo = $_POST['txttipo'];


este es el select:

<select name="tipo" id="tipo" class="select" style="width:50%">
<?
if ($Gd_user_tipo=="ADMINISTRADOR")
{
?>
<option value="ADMINISTRADOR" selected="selected">Administrador</option>
<option value="MODERADOR">Moderador</option>
<?
}elseif ($Gd_user_tipo=="MODERADOR")
{
?>
<option value="ADMINISTRADOR">Administrador</option>
<option value="MODERADOR" selected="selected">Moderador</option>
<?
}elseif ($Gd_user_tipo=="")
{
?>
<option value="ADMINISTRADOR">Administrador</option>
<option value="MODERADOR">Moderador</option>
<?
}
?>

</select>

y nada ... no trae valor y no puedo rutear en IE...
  #2 (permalink)  
Antiguo 12/01/2007, 14:31
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 5 meses
Puntos: 53
Re: no me trae el valor del option con internet explorer

cmo estas inicialisando tu objeto XMLHttpRequestObject?? quiza solo lo estas instanciando para familia mozilla, mira, una buena forma de inicializarlo para que funcione en ambos es asi:

Código PHP:
 /**
    * Esta funcion instancia  el XMLHttpRequest
    * para la familia Mozilla :) o IE :S
    */
   
function initRequest() {
           
// code for Mozilla, etc.
       
if (window.XMLHttpRequest) {
           return new 
XMLHttpRequest();
       } else if (
window.ActiveXObject) {
               
// code for IE
           
isIE true;
           return new 
ActiveXObject("Microsoft.XMLHTTP");
       }
   } 
have funnnnnnnn
  #3 (permalink)  
Antiguo 12/01/2007, 14:39
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

lo inicio de esta forma

Código:
var XMLHttpRequestObject = false;

if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
lo extraño es que solo no me envia valores de los select option..los campos de text los trabaja bien... lo trate de rutiar poniendo alert() y me di cuenta que cuando pasa por

Código:
		   var obj = document.getElementById(divID);
		   obj = document.getElementById(divID);
	       obj.innerHTML = '<br><p style="text-align:center;"><img src="css/themes/default/gl-loading.gif" /><br/><br/>Cargando Informacion...</p>'; 		   
		   XMLHttpRequestObject.open("POST", fuenteDatos);
				
		   XMLHttpRequestObject.onreadystatechange = function()
		   {
				   if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) 
				   {			
				 	obj.innerHTML = XMLHttpRequestObject.responseText;	
				   }
				   /*
				   if (XMLHttpRequestObject.status == 404) 
				   {			
				 	obj.innerHTML ="NO ENCUENTRO LA PAGINA";	
				   }
				   */		
		   }
pierde el valor...
  #4 (permalink)  
Antiguo 12/01/2007, 15:19
 
Fecha de Ingreso: agosto-2003
Ubicación: Guatemala
Mensajes: 94
Antigüedad: 21 años, 4 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

Necesitas enviar el valor del option seleccionado.

txttipo.options.selectedIndex
__________________
Luis Pirir
Programador Web
Móvil: (502) 50623292
  #5 (permalink)  
Antiguo 12/01/2007, 15:22
 
Fecha de Ingreso: agosto-2003
Ubicación: Guatemala
Mensajes: 94
Antigüedad: 21 años, 4 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

Perdon, la ultima instruccion es:

txttipo.options[txttipo.options.selectedIndex];

Saludos.
__________________
Luis Pirir
Programador Web
Móvil: (502) 50623292
  #6 (permalink)  
Antiguo 12/01/2007, 18:35
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

vale ..pero como lo pongo..osea donde... probe en varios lados pero me da error ...
  #7 (permalink)  
Antiguo 12/01/2007, 18:53
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

ya me funciono.. gracias a todos...

lo que habia que cambiar era esto:

var txttipo = document.getElementById('tipo');

por

var txttipo = document.getElementById('tipo').options[document.getElementById('tipo').options.selectedIn dex];

eso era todo..me funciono en mozilla firefox y en la mierdi de Internet explorer 7
  #8 (permalink)  
Antiguo 12/01/2007, 20:50
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

ahora me pasa lo mismo con los campos radio :(
  #9 (permalink)  
Antiguo 13/01/2007, 10:26
Avatar de capa  
Fecha de Ingreso: octubre-2006
Mensajes: 86
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: no me trae el valor del option con internet explorer

Hola, para que puedas obtener los datos de tus objetos, tienes que obtenerlos con el getElementById, tal como lo hiciste con el elemento Select de mismo modo tienes que hacerla con los demas.
En JS
var varradio = document.getElementById('radio').value;

<input id="radio" name="radiobutton" type="radio" value="valor_radio" />

Bueno si lo puedes hacer mas organizado, se te ara mas sencillo.

Saludos..
  #10 (permalink)  
Antiguo 13/01/2007, 12:22
Avatar de giotari
Usuario no validado
 
Fecha de Ingreso: mayo-2003
Ubicación: Chile
Mensajes: 295
Antigüedad: 21 años, 7 meses
Puntos: 0
Re: no me trae el valor del option con internet explorer

mm... no funciona asi... al parecer los campos radio y select option no funcionan con .value...

para los select se toma asi:

var txttipo = document.getElementById('tipo').options[document.getElementById('tipo').options.selectedIn dex];


pero me falta saber como funciona para los radio
  #11 (permalink)  
Antiguo 15/01/2007, 10:47
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 7 meses
Puntos: 35
Busqueda Re: no me trae el valor del option con internet explorer

loading.........



es sencillo, ve esto.

<input type=radio name="blabla" value=1>
<input type=radio name="blabla" value=2>
<input type=radio name="blabla" value=3>
<input type=radio name="blabla" value=4 checked>

notas algo en comun? SI el NAME, ahora quieres sacr el valor seleccionado? (en este caso 4)

Código PHP:
var selectedis,misradios=document.getElementsByName("blabla");
for(var 
i=0;i<misradios.length;)
{
   if(
misradios[i].checked)
   {
      
selectedis=misradios[i].value;
      break;
    }

y listo... en selectedis tendras el valor elegido en tus radios.



connection closed.
__________________

Maborak Technologies
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 03:25.