Foros del Web » Programando para Internet » Javascript »

Buscando el carácter '?' en la url.. para saber si se estan pasando parametros..

Estas en el tema de Buscando el carácter '?' en la url.. para saber si se estan pasando parametros.. en el foro de Javascript en Foros del Web. Hola amigos, tengo el siguiente código.. Código: var urlActual = new String(location.href); alert(urlActual); alert(urlActual.lastIndexOf('?',0)); estoy intentando buscar el ? en la url para saber si ...
  #1 (permalink)  
Antiguo 24/07/2007, 03:23
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 7 meses
Puntos: 0
Buscando el carácter '?' en la url.. para saber si se estan pasando parametros..

Hola amigos,

tengo el siguiente código..


Código:
var urlActual = new String(location.href);
alert(urlActual);
alert(urlActual.lastIndexOf('?',0));
estoy intentando buscar el ? en la url para saber si se estan pasando parametros por la URL.

Si se estan pasando parametros añdo uno nuevo con "&parametro=valor" pero si no se estan pasando, añadirle el "?parametro=valor".

alguien sabe por que el lastIndexOf me devuelve siempre -1, este o no el interrogante en la URL

con la url : http://10.1.17.254/web/pagina.php <-- me devuelve -1

y con la url: http://10.1.17.254/web/pagina.php?parametro=23 <--- me devuelve también -1

como lo hago?
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 24/07/2007, 04:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Buscando el carácter '?' en la url.. para saber si se estan pasando parametros..

Hola:

En las FAQs hay un par de temas sobre recogida de parámetros por url... te recomiendo que los busques porque seguro que pueden serte de utilidad, pero respondiendo a la pregunta, mejor que usar location.href es location.search...
y la ubicación es mejor saberla con indexOf (devuelve -1 si no existe y la ubicación real si es distinto de -1, que luego puedes usar con substr()

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/07/2007, 04:08
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 7 meses
Puntos: 0
Re: Buscando el carácter '?' en la url.. para saber si se estan pasando parametros..

muchas gracias caricatos!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #4 (permalink)  
Antiguo 26/07/2007, 08:12
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 1 mes
Puntos: 45
Re: Buscando el carácter '?' en la url.. para saber si se estan pasando parametros..

Cita:
Iniciado por markshock Ver Mensaje
Si se estan pasando parametros añdo uno nuevo con "&parametro=valor" pero si no se estan pasando, añadirle el "?parametro=valor".
...
con la url : http://10.1.17.254/web/pagina.php <-- me devuelve -1

y con la url: http://10.1.17.254/web/pagina.php?parametro=23 <--- me devuelve también -1
Creo que te estás dejando el caso de que la url ya sea así:
http://10.1.17.254/web/pagina.php?uno=1

En ese caso tendríamos que añadir un &.
Tenlo en cuenta!



Y lo que te estaba pasando es que mirabas a ver si estaba '?' desde atrás, pero empezando desde la posición cero!
Mira, en esta llamada busco '?' desde la posición 10:
Código:
"http://10.1.17.254/web/pagina.php?parametro=23".lastIndexOf('?', 10);
// con lo que estoy buscando '?' en este fragmento:
"http://10.1.17.254/web/pagina.php?parametro=23"
 <--------+
No encuentra, da -1
Código:
"http://10.1.17.254/web/pagina.php?parametro=23".lastIndexOf('?', 30);
// con lo que estoy buscando '?' en este fragmento:
"http://10.1.17.254/web/pagina.php?parametro=23"
 <----------------------------+
No encuentra, da -1
Código:
"http://10.1.17.254/web/pagina.php?parametro=23".lastIndexOf('?', 40);
// con lo que estoy buscando '?' en este fragmento:
"http://10.1.17.254/web/pagina.php?parametro=23"
 <--------------------------------------+
Encuentra, da 33.

Espero que así sí
lastIndexOf() busca hacia el principio (atrás) y indexOf() busca hacia el final (adelante).


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 26/07/2007, 08:17
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 7 meses
Puntos: 0
Re: Buscando el carácter '?' en la url.. para saber si se estan pasando parametros..

gracias amigos al final lo solucione, usando indexOf y location.search...

muchas gracias por vuestra ayuda...!!!!

^_^ !!!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
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 18:45.