Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Pasar parametro a JS vía URL

Estas en el tema de Pasar parametro a JS vía URL en el foro de Javascript en Foros del Web. Hola mis amigos, tengo una duda. En mi javascript quiero utilizar un IF para evaluar el valor de una variable que se pasa a través ...
  #1 (permalink)  
Antiguo 30/06/2017, 08:22
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Sonrisa Pasar parametro a JS vía URL

Hola mis amigos, tengo una duda. En mi javascript quiero utilizar un IF para evaluar el valor de una variable que se pasa a través del URL.
He hecho lo siguiente pero sin éxito aun:
Código Javascript:
Ver original
  1. <SCRIPT LANGUAGE="JavaScript">
  2. codigo
  3. codigo
  4. codigo
  5. ...
  6. if ($_GET['modo'] == 'edit') {
  7.   document.getElementById("id_jefe_normal").style.display = 'none';
  8. }
  9. </script>
Mi URL tiene la siguiente forma: localhost/miproyecto/?view=alumnos&mode=edit&id=23
Sé usar IF y capturar la variable del URL con php, pero con JavaScript no tengo ni idea de cómo hacerlo

Última edición por julia2021; 30/06/2017 a las 08:30
  #2 (permalink)  
Antiguo 30/06/2017, 13:06
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Pasar parametro a JS vía URL

Prueba asi:

Código Javascript:
Ver original
  1. var URL = window.location;
  2.  
  3.     var partes = URL.split("?");//separo la url en el signo ? para obtener los valores enviados
  4.     var get = URL.split("&");//Separo los valores en &
  5.     var valor = get[1].split("=");//Separo el elemento que busco
  6.     //recuera que el orden del array va a depender de como vengan las variables en la url
  7.     //Ejemplo: localhost/miproyecto/?view=alumnos&mode=edit&id=23
  8.     //view=0, mode=1, edit=2
  9.  
  10.     if(valor[1]=="edit"){
  11.         alert("Debe editar el Modo");
  12.     }

debe haber un metodo más sencillo, dime si te funciono. Saludos
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 30/06/2017, 23:05
Avatar de julia2021  
Fecha de Ingreso: diciembre-2014
Ubicación: Mexico
Mensajes: 152
Antigüedad: 9 años, 4 meses
Puntos: 11
Respuesta: Pasar parametro a JS vía URL

Hola xfxstudios, gracias por el dato, me gusta mucho, pero no quiero trabajar con arrays, te comparto como lo solucione y nuevamente gracias !!!!!

Código Javascript:
Ver original
  1. <SCRIPT LANGUAGE="JavaScript">
  2. // Con esta funcion capturamos el URL
  3. function getVarsUrl(){
  4.     var url= location.search.replace("?", "");
  5.     var arrUrl = url.split("&");
  6.     var urlObj={};
  7.     for(var i=0; i<arrUrl.length; i++){
  8.         var x= arrUrl[i].split("=");
  9.         urlObj[x[0]]=x[1]
  10.     }
  11.     return urlObj;
  12. }
  13. var misVariablesGet = getVarsUrl();
  14.  
  15.     if (misVariablesGet.mode == 'edit') {
  16.       document.getElementById("mi_campo_de_formulario").style.display = 'none';
  17.     }
  18. </script>
  #4 (permalink)  
Antiguo 01/07/2017, 00:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Pasar parametro a JS vía URL

Julia, dices que no deseas trabajar con arreglos; sin embargo, la función que usas lo hace, con la diferencia de que al final usa un objeto.

Un resultado similar al de PHP se obtendría mediante lo siguiente:
Código Javascript:
Ver original
  1. var $_GET = (function(query){
  2.     for (var i = 0, a = query.split("&"), o = {}, l = a.length; i < l; e = a[i].split("="), o[e[0]] = e[1], i++);
  3.     return o;
  4. })(location.search.split("?")[1]);
  5.  
  6. //ejemplo.html?foo=Hola&bar=Mundo
  7. console.log($_GET["foo"] + ", " + $_GET["bar"]); //Hola, Mundo

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: url, variable
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 14:26.