Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con signo "&" en busqueda

Estas en el tema de Ayuda con signo "&" en busqueda en el foro de ASP Clásico en Foros del Web. Hola a todos, tengo una página de búsqueda donde el usuario debe seleccionar de un select un nombre para buscar un documento que contenga ese ...
  #1 (permalink)  
Antiguo 07/07/2005, 09:26
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
Pregunta Ayuda con signo "&" en busqueda

Hola a todos, tengo una página de búsqueda donde el usuario debe seleccionar de un select un nombre para buscar un documento que contenga ese nombre. El problema aparece cuando el nombre contiene el signo "&", por ejemplo "A & B Asociados S.A.", el valor de los campos lo paso primero a una página intermedia, que dependiendo de cierto valor redirecciona a una u otra pagina y recupero el valor del select con un query.string. Alguien podría ayudarme con eso por favor?? muchas gracias de antemano.
__________________
Tarecito
  #2 (permalink)  
Antiguo 07/07/2005, 10:25
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Y ese signo lo interpreta como si estuvieras pasando un argumento mas?
Si ese es el problema, utiliza Server.URLEnconde(tu_argumento_aqui) antes de enviarlo.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 07/07/2005, 10:32
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
hola u_goldman, yo l otengo de esta forma:

<%
.
.
Response.Redirect("consulta_doc_desp_int2.asp?r="& remi&"&td="&tipodoc&"&a="&asunto&"&fd="&fecha_d&"& fh="&fecha_h)
.
.
%>
cómo pondría en ese caso el Server.URLEnconde?? (disculpa mi ignorancia)
__________________
Tarecito
  #4 (permalink)  
Antiguo 07/07/2005, 10:35
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
cuales son exactamente los argumentos que quieres pasar???
Si haces un response.write de ese querystring que resultado te da?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 07/07/2005, 10:40
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
los argumentos son

"r" q es el nombre del remitente selegido de un select
"a" q es el asunto q capturo de un textbox
"fecha_d" y "fecha_h" que son campos fechas
el "tipodoc ya lo quité

al hacer el response.write del argumento "r" (q es el del problema) em sale:

para "A & B Asociados S.A." me sale sólo "A"
__________________
Tarecito
  #6 (permalink)  
Antiguo 07/07/2005, 10:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
seguramente no tenés el value de ese campo de formulario entre comillas
__________________
...___...
  #7 (permalink)  
Antiguo 07/07/2005, 10:44
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Si, me parece que el error es lo que comenta U Goldman, es como si le estuvieras pasando dos variables, si haces un Response.Write, y luego un Response.End para que termine la ejecución de la página, te vas a dar cuenta de que es lo que le estás enviando al navegador. En definitiva, haz lo que dice el maestro que todo va a ir bien.
Saludos!.
__________________
Add, never Remove
  #8 (permalink)  
Antiguo 07/07/2005, 10:46
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
claro, te sale solo A, porque luego viene el signo "&". Y ahí es en donde el navegador interpreta no que es un simbolo de una cadena, sino lo interpreta como que le vas a pasar otra variable.
__________________
Add, never Remove
  #9 (permalink)  
Antiguo 07/07/2005, 10:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
trata asi, y solo es cuestion de logica, por una parte lo que te dice mariano, la otra es intentar!
Código:
Response.Redirect("consulta_doc_desp_int2.asp?r="&Server.URLEncode(remi)&"&td="&tipodoc&"&a="&asunto&"&fd="&fecha_d&"&fh="&fecha_h)
Y tambien revisa lo que te dice AZ, es muy posible que no esten llegando los valores correctamente, como los estas recuperando??
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 07/07/2005, 11:04
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Acabo de hacer la prueba de mandar el signo "&" por un formulario (tanto con post como con get) intercalado entre otros parámetros y no ocurre nada fuera de lo normal ya que es reemplazado (al menos en la url al usar get) por los caracteres %26.

Por lo tanto, no le veo otra que la falta de comillas para encerrar el value.
Igual, podrías poner el código del formulario también para quitarnos la duda
__________________
...___...
  #11 (permalink)  
Antiguo 07/07/2005, 11:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
A mi me ocurrio que tomaba el ampersand como si fuera un parametro extra, eso fue hace mucho, tuve que hacer todo un show para reemplazar en ese string por los caractreres @@ porque no sabia del uso de URLEncode

Pero si, es muy posible que sea problema de los inputs

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 07/07/2005, 11:09
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
en la pagina q recibe los argumentos, en la barra de direcciones figura esto:

.../consulta_doc_desp_int2.asp?r=A%20&%20J%20COLL%20S. A.&a=&fd=&fh=

(solo envie el argumento r, los demas campos los deje vacio). El argumento r era: "A & J COLL S.A."
__________________
Tarecito
  #13 (permalink)  
Antiguo 07/07/2005, 11:11
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Para sacarnos de la duda, podrías hacer esto?, en lugar de hacer un Response.Redirect con esa cadena, hace un Response.Write, y en la linea de abajo que haces el Response.Write, escribe Response.End() así se acaba la ejecución de la página y te muestra la cadena como la recibe el navegador. Copia la cadena y pegala acá.
Saludos!.
__________________
Add, never Remove
  #14 (permalink)  
Antiguo 07/07/2005, 11:11
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues entonces el problema esta resuelto que no?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #15 (permalink)  
Antiguo 07/07/2005, 11:14
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
u_goldman, modifiqué el código como lo escribiste y me sale el siguiente error: "no acepta la propiedad o metodo"
__________________
Tarecito
  #16 (permalink)  
Antiguo 07/07/2005, 11:17
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Bueno, la prueba que hice fue ésta:

1.asp:
Código:
<form action="1.asp" method="get">
<input type="text" name="t1">
<select name="nombre">
<option value="b & n">b & n</option>
</select>
<input type="text" name="t2">
<input type="submit">
</form>

<%
if request.querystring<>"" then
Response.Redirect "2.asp?" & Request.QueryString()
end if
%>
2.asp:
Código:
<%
Response.Write Request("t1")
Response.Write "<br>"
Response.Write Request("nombre")
Response.Write "<br>"
Response.Write Request("t2")
%>
Y todo funciona OK, el signo & no da problemas.
err.. probado en firefox.. perá que lo pruebo en IE...

en IE funciona igual
__________________
...___...
  #17 (permalink)  
Antiguo 07/07/2005, 11:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues entonces copiaste y pegaste mal, porque lo acabo de probar y funciona.

Haz lo que te dijo mariano, copia y pega (cuidadosamente) la salida de ese redirect

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #18 (permalink)  
Antiguo 07/07/2005, 11:21
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
ahora cada vez q entro a la opción me sale una ventana q dice: Internet Explorer ha generado un error y se cerrará
__________________
Tarecito
  #19 (permalink)  
Antiguo 07/07/2005, 11:26
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
creo q eso ya es otra cosa.... o no?
__________________
Tarecito
  #20 (permalink)  
Antiguo 07/07/2005, 11:26
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Sugiero que antes de que todo mundo trate de adivinar, Tarecito ponga al menos algo de voluntad y haga lo que se le ha dicho.

1. Que ponga como esta recuperando esos datos
2. Que imprima la salida del redirect y la pegue aqui
3. Que intente poniendo el URLEncode a su argumento
4. Que pegue la salida de la URL despues de codificarla aqui.



Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #21 (permalink)  
Antiguo 07/07/2005, 11:30
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
u_goldman, no te enojes pero ya hice todo los puntos indicados y cuando voy a la pagina esa me sale el error último q indiqué
__________________
Tarecito
  #22 (permalink)  
Antiguo 07/07/2005, 11:54
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
bueno, ya se arregló, tuve q cerrar sesión y volver a entrar. Gracias a todos
__________________
Tarecito
  #23 (permalink)  
Antiguo 07/07/2005, 12:45
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
jejeje el master u_goldman comenzaba a ponerse con justa razón
  #24 (permalink)  
Antiguo 07/07/2005, 12:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Es que nooooo mmmmeee hagan eso!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #25 (permalink)  
Antiguo 07/07/2005, 13:15
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
hacerte q hombre?? si segui los pasos q me decian, q no lo hayas entendido asi no es culpa mia

(no seas metecandela orharo )
__________________
Tarecito
  #26 (permalink)  
Antiguo 07/07/2005, 13:42
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Nada nada, todo con buena onda!

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #27 (permalink)  
Antiguo 07/07/2005, 13:44
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
jejej, sorry maestro u_goldman, lo decía con buena onda también... muchas gracias x tu ayuda y la de los demás
__________________
Tarecito
  #28 (permalink)  
Antiguo 07/07/2005, 14:08
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Pero al final no me enteré de cuál era el problema y cuál la solución!
__________________
...___...
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 23:44.