Foros del Web » Programando para Internet » Javascript »

Dos eventos en select box

Estas en el tema de Dos eventos en select box en el foro de Javascript en Foros del Web. Hola, tengo un select box con un evento Onchange que llama a una funcion que me actualiza un div al seleccionar una opcion y un ...
  #1 (permalink)  
Antiguo 12/05/2014, 11:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 28
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Dos eventos en select box

Hola, tengo un select box con un evento Onchange que llama a una funcion que me actualiza un div al seleccionar una opcion y un evento Onload que deberia hacer lo mismo pero al cargar la pagina:

Código HTML:
Ver original
  1. <select name="users" onchange="<?php echo 'showUser(this.value,'.$valor.','.$GroupId.')'; ?>" onload="<?php echo 'showIni(this.value,'.$valor.','.$GroupId.')'; ?>">

El evento onchange funciona perfecto pero el onload no. Dejo el codigo:

Código Javascript:
Ver original
  1. function showUser(str,num,id){
  2. if (str==""){
  3.   document.getElementById("cargarproducto"+num).innerHTML="";
  4.   return;
  5.   }
  6. if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
  7.   xmlhttp=new XMLHttpRequest();
  8.   } else {// code for IE6, IE5
  9.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  10.   }
  11. xmlhttp.onreadystatechange=function(){
  12.   if (xmlhttp.readyState==4 && xmlhttp.status==200){
  13.     document.getElementById("cargarproducto"+num).innerHTML=xmlhttp.responseText;
  14.     }
  15.   }
  16. xmlhttp.open("GET","catalog/model/catalog/obtendatos.php?q="+str+"&id="+id,true);
  17. xmlhttp.send();
  18. }
  19.  
  20. function showIni(str,num,id){
  21. if (str==""){
  22.   document.getElementById("cargarproducto"+num).innerHTML="";
  23.   return;
  24.   }
  25. if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
  26.   xmlhttp=new XMLHttpRequest();
  27.   } else {// code for IE6, IE5
  28.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  29.   }
  30. xmlhttp.onreadystatechange=function(){
  31.   if (xmlhttp.readyState==4 && xmlhttp.status==200){
  32.     document.getElementById("cargarproducto"+num).innerHTML=xmlhttp.responseText;
  33.     }
  34.   }
  35. xmlhttp.open("GET","catalog/model/catalog/obtendatos.php?q="+str+"&id="+id,true);
  36. xmlhttp.send();
  37. }

Última edición por pabliich; 12/05/2014 a las 11:15
  #2 (permalink)  
Antiguo 12/05/2014, 11:31
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Dos eventos en select box

Pues que tu evento onload() te funcione o no dependera de lo que estas poniendo dentro.. y esta como innecesario (aunque inofensivo) que hagas <?php echo funcion_en_js(); ?> dentro del onload()

Por que no depuraras tu funcion showIni() ?
__________________
Salu2!
  #3 (permalink)  
Antiguo 12/05/2014, 12:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 28
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Dos eventos en select box

Cita:
Iniciado por Italico76 Ver Mensaje
Pues que tu evento onload() te funcione o no dependera de lo que estas poniendo dentro.. y esta como innecesario (aunque inofensivo) que hagas <?php echo funcion_en_js(); ?> dentro del onload()

Por que no depuraras tu funcion showIni() ?
Segun estuve averiguando onload() solo funciona en el body. Asi que tenia pensado hacerlo con windows.onload pero no se como pasar los valores de las variables php.
<script language="javascript">
function showIni(str,1,39){
if (str==""){
document.getElementById("cargarproducto"+num).inne rHTML="";
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("cargarproducto"+num).inne rHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","catalog/model/catalog/obtendatos.php?q="+str+"&id="+id,true);
xmlhttp.send();
}

window.onload= function()
{
showIni();
}
</script>

Etiquetas: html
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 11:08.