• Domingo 22 de Diciembre de 2024, 19:19

Autor Tema:  Formulario para Redireccionar  (Leído 6046 veces)

eMeMeFe

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Formulario para Redireccionar
« en: Miércoles 29 de Julio de 2009, 18:25 »
0
Hola, no se si lo que quiero hacer es viable o no, pero bueno, ya me decis lo que sea. Lo que necesito es hacer un formulario, que sólo tendra un campo de entrada de texto, en el que nosotros escribimos algo, por ejemplo: "123abc456", y al darle al botón "enviar", quiero que nos redirija a la web: "w w w . m i s i t i o . c o m/123abc456". Sería esto posible? Gracias de antemano por vuestras respuestas.

Thanatos-chan

  • Miembro MUY activo
  • ***
  • Mensajes: 136
  • Nacionalidad: do
    • Ver Perfil
Re: Formulario para Redireccionar
« Respuesta #1 en: Miércoles 29 de Julio de 2009, 23:23 »
0
que tal EmeMeFe,

lo que quieres, es totalmente factible, pero ya que deseas armar la URL de manera dinamica es decir "www.tusitio.com" mas lo que se digite en el campo deberas utilizar javascript para lograrlo.

este seria el codigo a usar:

Citar
location.href = "www.tusitio.com/"+document.forma.texto.value;

donde "location.href" es el codigo javascript para accesar la la direccion url y el resto del codigo le estas diciendo que quieres que sea tusitio + document.forma.texto.value. donde document es la pagina, forma la forma que estas usando, texto es el campo y value el valor del campo.

ese codigo lo deberas incluir en el evento onsubmit de la forma. puedes buscar ejemplos en internet.

espero te haya servido de ayuda.
Que es un genio???? yo superare a un genio con trabajo duro, y eso es todo.

eMeMeFe

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Formulario para Redireccionar
« Respuesta #2 en: Jueves 30 de Julio de 2009, 11:42 »
0
Cita de: "Thanatos-chan"
que tal EmeMeFe,

lo que quieres, es totalmente factible, pero ya que deseas armar la URL de manera dinamica es decir "ww w . t u s i t i o . c o m" mas lo que se digite en el campo deberas utilizar javascript para lograrlo.

este seria el codigo a usar:

Citar
location.href = "w w w . t u s i t i o . c o m/"+document.forma.texto.value;

donde "location.href" es el codigo javascript para accesar la la direccion url y el resto del codigo le estas diciendo que quieres que sea tusitio + document.forma.texto.value. donde document es la pagina, forma la forma que estas usando, texto es el campo y value el valor del campo.

ese codigo lo deberas incluir en el evento onsubmit de la forma. puedes buscar ejemplos en internet.

espero te haya servido de ayuda.

Gracias por tu pronta respuesta. He entendido más o menos lo que me indicas, pero no se lo que es eso de forma, y tampoco se cómo incorporarlo al código de la página.

El formulario es el siguiente:

Código: Text
  1. <form id="form1" name="form1" method="post" action="">
  2.   <p>REFERENCIA</p>
  3.     <label>
  4.       <input type="text" name="referencia" id="referencia" />
  5.     </label>
  6.   </p>
  7.   <p>
  8.     <input type="submit" name="button" id="button" value="Enviar" />
  9.   </p>
  10. </form>
  11.  

¿Podrías indicarme donde añadir el código javascript, y de que manera tengo que hacerlo?

Salu2 y Gracias de antemano.

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Formulario para Redireccionar
« Respuesta #3 en: Jueves 30 de Julio de 2009, 15:21 »
0
Simple, pones en la etiqueta <form> la propiedad/evento onSubmit="location.href = "www.tusitio.com/"+this.texto.value", es decir:

Código: Text
  1. <form id="form1" name="form1" method="post" onSubmit="location.href = 'www.tusitio.com/'+this.texto.value" >
  2. <!-- ... -->
  3. </form>
  4.  

También puedes poner el código en una función, y en vez de lo anterior poner onSubmit="redireccion(this.texto.value)", así te queda más flexible y el código te queda mejor distribuido:

Código: Text
  1. // Esto lo pones en un bloque <script> declarado en <head>
  2. function redireccion(valor) {
  3.     location.href = 'www.tusitio.com/'+valor
  4. }
  5.  

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

eMeMeFe

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Formulario para Redireccionar
« Respuesta #4 en: Viernes 31 de Julio de 2009, 11:31 »
0
Cita de: "shadow_rev"
Simple, pones en la etiqueta <form> la propiedad/evento onSubmit="location.href = "w w w . t u s i t i o . c o m/"+this.texto.value", es decir:

Código: Text
  1. <form id="form1" name="form1" method="post" onSubmit="location.href = 'w w w . t u s i t i o . c o m/'+this.texto.value" >
  2. <!-- ... -->
  3. </form>
  4.  

También puedes poner el código en una función, y en vez de lo anterior poner onSubmit="redireccion(this.texto.value)", así te queda más flexible y el código te queda mejor distribuido:

Código: Text
  1. // Esto lo pones en un bloque <script> declarado en <head>
  2. function redireccion(valor) {
  3.     location.href = 'w w w . t u s i t i o . c o m/'+valor
  4. }
  5.  

:suerte:

Hola, muchas gracias por tu respuesta.

He probado las dos opciones que me das, pero con las dos, al colgarlo en la web y probarlo, me da el error HTTP 405, y me dice que el sitio web tiene un error de programación.

No se en que me puedo estar equivocando, pero te indico los 2 códigos que he probado.

PRIMERA OPCION - RESULTADO - ERROR 405
Código: Text
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h t t p : / / w w w . w 3 . o r g / T R / x h t m l 1 / D T D / x h t m l 1 - t r a n s i t i o n a l . d t d">
  2. <html xmlns="h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7. <body>
  8. <form id="form1" name="form1" method="post" onSubmit="location.href = 'w w w . m i s i t i o . c o m/'+this.texto.value" >
  9.   <p>REFa</p>
  10.     <label>
  11.       <input type="text" name="texto" id="texto" />
  12.     </label>
  13.   </p>
  14.   <p>
  15.     <input type="submit" name="button" id="button" value="Enviar" />
  16.   </p>
  17. </form>
  18. </body>
  19. </html>
  20.  

SEGUNDA OPCION - RESULTADO - ERROR 405
Código: Text
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h t t p : / / w w w . w 3 . o r g / T R / x h t m l 1 / D T D / x h t m l 1 - t r a n s i t i o n a l . d t d">
  2. <html xmlns="h t t p : / / w w w . w 3 . o r g / 1 9 9 9 / x h t m l">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. <script>
  7. // Esto lo pones en un bloque <script> declarado en <head>
  8. function redireccion(valor) {
  9.     location.href = 'w w w . m i s i t i o . c o m/'+valor
  10. }
  11. </script>
  12. </head>
  13. <body>
  14. <form id="form1" name="form1" method="post" onSubmit="redireccion(this.texto.value)">
  15.   <p>REF</p>
  16.     <label>
  17.       <input type="text" name="texto" id="texto" />
  18.     </label>
  19.   </p>
  20.   <p>
  21.     <input type="submit" name="button" id="button" value="Enviar" />
  22.   </p>
  23. </form>
  24. </body>
  25. </html>
  26.  

Disculpa el cómo van las direcciones web, pero es que aún no tengo privilegios para poder publicarlas.

A ver si le puedes echar un vistazo al código, que yo no lo controlo, y me hechas una mano, a ver que es lo que falla.

Salu2 y Gracias

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Formulario para Redireccionar
« Respuesta #5 en: Viernes 31 de Julio de 2009, 16:10 »
0
Lo hiciste bien, el error fue mío :nosweat: . Cuando haces submit() al formulario, este se encarga de redireccionar a donde marca la propiedad action, si no es declarada, por defecto redirecciona a la misma página. Para eso, en la propiedad onSubmit, debes poner "return redireccion(this.texto.value)" y en la función retornar false:

Código: Text
  1. function redireccion(valor) {
  2.     location.href = 'http://www.tusitio.com/'+valor;
  3.     return false;
  4. }
  5.  

Lo probé así y me funcionó (al menos en Firefox)
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas