Redireccionar con la misma url en php

Experto que tal me gustaría saber como puedo mantener la misma url cuando envío a otra pagina a que me refiero tengo este pequeño formulario y con este script

<script type="text/javascript">// <![CDATA[
function modForm(valor){

formulario = document.getElementById("formulario");
if(valor=='UVM'){
formulario.action="index1.html";
}
if(valor=='TESE'){
formulario.action="index2.html";
}
if(valor=='IPN'){
formulario.action="index3.html";
}
if(valor=='UNAM'){
formulario.action="index4.html";
}
}
// ]]></script>

<form id="formulario" method="post" name="formulario">index.html
<script>
function modForm(valor){
formulario = document.getElementById("formulario");
if(valor=='UVM'){
formulario.action="index1.html";
}
if(valor=='TESE'){
formulario.action="index2.html";
}
if(valor=='IPN'){
formulario.action="index3.html";
}
if(valor=='UNAM'){
formulario.action="index4.html";
}
}
</script></form><form method="post" name="formulario"><form name="formulario" id="formulario" method="post" >
Escuela
<p><select name="escuela" id="escuela" onchange="modForm(this.value)">
<option value="">Elija escuela</option>
<option value="UVM">UVM</option>
<option value="TESE">TESE</option>
<option value="IPN">IPN</option>
<option value="UNAM">UNAM</option>
</select>
<input name="Enviar" type="submit" id="Enviar" value="Enviar" size="3" >
</form></form><form id="formulario" method="post" name="formulario">
</form>

bueno lo que quiero es que cuando elija cualquiera de las opciones me mande a la pagina que yo direccione en mi script pero que tenga la misma url a que me refiero si por decir si tengo mi url de mi pagina principal que es:http://localhost/ejemplo/index.html ahí viene mi formulario y mi script en index.html y si yo elijo uvm y le doy enviar quiero que me mande a la pagina que yo direccione en mi script pero que se siga manteniendo la url de mi pagina principar que es http://localhost/ejemplo/index.html

1 respuesta

Respuesta
1

Entiendo la pregunta pero no entiendo que utilidad tiene.

Lo que haría seria una función que procese la información que llega desde el formulario y que entregue diferentes resultados en función del campo escuela.

Ir a meterse con las url es ilógico cuando estas haciendo tareas tan menores como estas.

Una segunda opción es trabajar con ajax que entregue los campos a los diferentes scripts de aterrizaje y que devuelva al información ya procesada.

lo que pasa que en mi formulario completo viene una encuesta y primero tienen que llenarlo y al ultimo viene este campo donde direcciona entonces si solo una ves contestan eso y le dan la opción que quieran pues los va a mandar a la url que yo puse entonces nada mas van a copiar la url que direccione a cada campo y no van a contestar la encuesta que puse al principio entonces si contestan todo y eligen con esa misma url no podrán copiar la url que que se direcciono a cada campo

Disculpa no entendí tu redacción.

Veamos si supongo lo que deseas hacer.

1- Los usuarios contestan la encuesta.

2- Los usuarios envían el botón submit y estos datos se guardan en la base de datos.

3- El submit se genera sobre la misma url.

4- El usuario selecciona la escuela y es redireccionado a la pagina que desea.

¿Es así?

1-pagina cuenta con la encuesta y la parte de abajo el campo de escuela y enseguida el botón de enviar

2- el usuario al contestar la encuesta y seleccionar el campo de escuela se direcciona a la pagina que elegí en el script

3- al momento de mandar al url que elegimos en la parte de arriba de la pagina debe ser la misma url que en la principar.

ejemplo rapido

esta es mi pagina principal con esta url http://localhost/ejemplo/index.html si contestamos todo y le damos uvm y mi script le puse www.youtube.com en uvm nos va a mandar a la pagina de youtube pero con esta misma url http://localhost/ejemplo/index.html no con la de youtube

Se puede hacer con ciertos avisos.

No podrás enviar con la misma url a páginas que estén fuera de tu dominio. En caso de youtube si o si se verá la url de youtube. Si lo haces con una url interna es posible realizarlo.

Verifica las opciones que te entregué en mi primera respuesta y valida cual es la que te es más conveniente realizar.

bueno lo de youtube fue un pequeño ejemplo pero son de mi dominio las paginas y cual de las dos respuestas me aria lo que necesito de ser las misma url

Ambas... Citaré textual para que veas las opciones.

 
1- Lo que haría seria una función que procese la información que llega desde 
el formulario y que entregue diferentes resultados en función del campo 
escuela.
2- Segunda opción es trabajar con ajax que entregue los campos a los 
diferentes scripts de aterrizaje y que devuelva al información ya 
procesada.

se me ase mas factible la segunda perdón por insistir pero con que me arroje la url de mi pagina principar a las demás donde se va a direccionar

Con todo respeto, este tipo de solicitudes tienes que programarlas. Modificar instrucciones del servidor para resolver estas situaciones en un caso real, en un trabajo real te llevaría al despido de inmediato y en el mejor de los casos, te sería imposible por parte del administrador de servidores que no estaría dispuesto a hacer estas acciones por el "capricho" de mostrar una url.

Trabajaremos con ajax. Recuerda insertar tu archivo jquery en el script, si no, no va a funcionar como ya te ha sucedido anteriormente.

Dejemos el script de esta forma

<html>
 <head>
 <title>misma pagina</title>
 <script src="jquery.js"></script>
 <script>
 function getAction(){
 valor = $("#escuela").val();
 if(valor=='UVM'){
 return "./index1.html";
 }
 if(valor=='TESE'){
 return "./index2.html";
 }
 if(valor=='IPN'){
 return "./index3.html";
 }
 if(valor=='UNAM'){
 return "./index4.html";
 }
 }
 $(document).ready(function(){
 $("#enviar").click(function(){
 $.ajax({
 url: getAction(),
 }).done(function( html ) {
 $( "#contenedor_formulario" ).html( html );
 });
 });
 });
 </script>
 </head>
 <body>
 <div id="contenedor_formulario">
 <form method="post" name="formulario">
 Escuela
 <p>
 <select name="escuela" id="escuela">
 <option value="">Elija escuela</option>
 <option value="UVM">UVM</option>
 <option value="TESE">TESE</option>
 <option value="IPN">IPN</option>
 <option value="UNAM">UNAM</option>
 </select>
 <input type="button" id="enviar" value="Enviar" >
 </p>
 </form>
 </div>
 </body>
</html> 

Lo he probado por lo que tengo certeza que funciona

experto ya hice lo que me dijiste y también puse mi archivo jquery y no me sale nada y jijiji no es capricho de la url pero es que me gustaría saber de varias maneras

Unas preguntas que podrías revisar.

¿Tienes algún error en la consola javascript?

¿El archivo jquery se llama igual al que está en la cabecera y está en la ubicación que especificas?

<script src="jquery.js"></script>

Las páginas de aterrizaje se llaman igual y están al mismo nivel que tu script?

no tengo error en javascript y mi archivo se llama jquery-1.3.2 y si lo cambie <script src="jquery-1.3.2.js"></script> si esta en donde esta mis archivos

A mi me funciona! Jajaja

Tienes que revisar tus archivos... si tienen el mismo nombre y corresponden su ubicación.

Si los id de los campos corresponden en los div, todo tiene que cuadrar, por eso te decía que copies y pegues modificando lo mínimo.

Tu desarrollo tiene que estar sobre un servidor apache y verlo desde una ubicación web, porque desde un directorio "normal" no funcionará

donde descargarte el jquery?

Desde el sitio jquery.com bajé la última versión compatible con navegadores antiguos.

El problema en todo caso no es la librería.

Supongo que hay problemas en que no encuentra los archivos html que van en la función. Mi directorio de la aplicación esta así

www\  (directorio de tu apache)
     app\  (directorio con el nombre de tu aplicacion)
           Index.html (dentro de aplicacion van todos los archivos)
           Index1.html
           Index2.html
            Index3.html
            Index4.html
           Jquery.js

En código de index.html tiene que ser el mismo que te envié

Arma esta estructura en tu apache y llama todo esto desde un navegador

http://localhost/app/index.html

Si está así no va a fallar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas