Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Simplificar Codigo

Estas en el tema de Simplificar Codigo en el foro de Javascript en Foros del Web. Hola gente tengo el siguiente codigo: [URL="http://pastebin.com/0nfNuzpQ"]CODIGO JAVASCRIPT[/URL] Lo pongo asi porque es muy largo, como pueden observar es el mismo repetido 30 veces, solo ...
  #1 (permalink)  
Antiguo 06/05/2014, 12:11
 
Fecha de Ingreso: marzo-2010
Mensajes: 28
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Simplificar Codigo

Hola gente tengo el siguiente codigo:
[URL="http://pastebin.com/0nfNuzpQ"]CODIGO JAVASCRIPT[/URL]
Lo pongo asi porque es muy largo, como pueden observar es el mismo repetido 30 veces, solo cambia "showUser" y "cargarproducto". Como puedo hacer para simplificarlo en una sola funcion? Porque necesito que llegue hasta el numero 100 y seria muy largo poner 100 la misma funcion.
  #2 (permalink)  
Antiguo 06/05/2014, 12:57
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Simplificar Codigo

Podrías haberlo pegado aquí no necesitabas poner los treinta, sólo dos o tres.

Código Javascript:
Ver original
  1. function showUser(str,num){
  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,true);
  17. xmlhttp.send();
  18. }


Al llamar la función le pasas como segundo parámetro el número de elemento.

O bien lo puedes hacer mediante for, pero creo que con esto puedes darte la idea.
  #3 (permalink)  
Antiguo 07/05/2014, 08:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 28
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Simplificar Codigo

Cita:
Iniciado por ocp001a Ver Mensaje
Podrías haberlo pegado aquí no necesitabas poner los treinta, sólo dos o tres.

Código Javascript:
Ver original
  1. function showUser(str,num){
  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,true);
  17. xmlhttp.send();
  18. }


Al llamar la función le pasas como segundo parámetro el número de elemento.

O bien lo puedes hacer mediante for, pero creo que con esto puedes darte la idea.
Excelente, muchas gracias!

Etiquetas: ajax
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 06:35.