| |||
¿Como puedo sustituir el contenido de un <section>? Hola. La pregunta se refiere a que hay un section en el cual hay contenido, pero me gustaría que al hacer clic en un link cualquiera de la web se borrara el contenido del section y se cargase el contenido de una pagina php. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Cita: Tendrías que utilizar ajax para cargar el nuevo contenido en el <section>ó alternativamente, tener dentro del section ambos contenidos en contenedores diferentes y, con javascript, intercambiar las propiedades del display o visibility
Código HTML:
Ver original SAludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| |||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Comprendo el apaño que propones en el código pero dado lo complejo de mi proyecto no me puedo permitir ir añadiendo todo a ese section. Que la idea no es mala pero a la larga es problemática. Ahora mismo llevaba un rato mirando el tema de ajax pero me va a costar por que empecé hace unas 3 semanas con javascript (aun que yo vengo de java) y de momento me sobrepasa. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? @Emprear Con el ejemplito sencillo que pones en tu página demo, me dan ganas de aprender un poco de Ajax. Así que te vas a tener que aguantar a mi lluvia de preguntas. 1) ¿Por qué un requestHeader? 2) ¿Qué son los redyState? ¿Ese núimero 4, varía conforme tienes más elementos en el menú? 3) ¿Qué es el status == 200? |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Cita:
Iniciado por Rafael @Emprear Con el ejemplito sencillo que pones en tu página demo, me dan ganas de aprender un poco de Ajax. Así que te vas a tener que aguantar a mi lluvia de preguntas. Primero una aclaración, para ese ejempo sencillo se puede hacer con GET. Y pasar un header sería opcional 1) ¿Por qué un requestHeader? suponiendo que estamos procesando un form con ajax y queremos usar POST, utilizamos el método requestHeader para indicar que los datos están codificados como en un formulario, en este caso setRequestHeader("Content-Type","application/x-www-form-urlencoded"); se entiende que el recurso requerido se está solicitando por medio del Ajax, por lo tanto los headers deben de enviarse de la misma forma. la sintáxis es objetoAjax.setRequestHeader(nombre del header, valor); 2) ¿Qué son los redyState? ¿Ese número 4, varía conforme tienes más elementos en el menú? No, no se relaciona con los elementos del menu, cuando hacés una petición por Ajax, entre el envío y la respuesta hay diferentes estados, lee esto primero (donde se describen los posibles valores 0,1,2,3,4) http://librosweb.es/ajax/capitulo7/m...tprequest.html De ahi que si está en uno, utilizo
Código Javascript:
el famoso gif de cargandoVer original Luego
Código Javascript:
Ver original Si está en 4, es que el proceso se completó correctamente, pero, también es posible que la página no exista (ya habrás oído del 404 not found), bueno el status 200, indica que la página fue encontrada, este "status" corresponde a una de las cabeceras HTTP del servidor, Es decir, verifico ambas condiciones 3) ¿Qué es el status == 200? lo previo Quizás te interese esto, que es un poco más complejo http://foros.emprear.com/ajax/html-css-js-ajax/ Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Te dejo el sql de la tabla ciudades http://foros.emprear.com/ajax/html-c...s_demo.sql.zip Si estás empezando Igual siempre es bueno un buen manual/tutorial. Siempre recomiendo aprender el funcionamiento con javascript puro, luego, si en alguna de tus Webs usas jQuery, podés usar el mismo para utilizar ajax que te simplifica algunas cosas Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Hola. Sigo experimentando. En el ejemplo está muy claro cargar el contenido con el link con un evento onclick
Código HTML:
Puedo tener varios links así y no hay problema. Ver original Pero estoy experimentando con unsar un select para cargar este contenido. Creo que podría ser algo así, pero evidentemente no funciona.
Código HTML:
Ver original ¿Una ayuda por favor? |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Te dejo 2 variantes, con boton y con onchange,
Código HTML:
Saludos Ver original
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Gracias Emprear. Estoy estudiando un poco esas nuevas funciones que pusiste. Logré que funcionara sin la necesidad de una función nueva supliendo esto: <a href="#" onclick="cargarAjax('contenido2.html','Contenedor' ); return false">2</a> con esto: <select onchange="cargarAjax((this.value),'Contenedor');"> <option value="contenido1.html">Pag.1</option> <option value="contenido2.html">Pag.2</option> </select> Me surge una duda más. ¿Por qué el return false? |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Rafael, El return false se usa para cancelar el evento por defecto del enlace, que en este caso sería redireccionar a la misma página. Un tutorial que me ayudó bastante cuando aprendía AJAX fué este. Un saludo. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? Cita: para que el href que conlleva el link no se ejecute.
Iniciado por Rafael Gracias Emprear. Estoy estudiando un poco esas nuevas funciones que pusiste. Logré que funcionara sin la necesidad de una función nueva supliendo esto: <a href="#" onclick="cargarAjax('contenido2.html','Contenedor' ); return false">2</a> con esto: <select onchange="cargarAjax((this.value),'Contenedor');"> <option value="contenido1.html">Pag.1</option> <option value="contenido2.html">Pag.2</option> </select> Me surge una duda más. ¿Por qué el return false? Acá hay un poco de discusión sobre que es más semántico o no, si poner un <a>, o si poner un span y estilizarlo con css. Pero hay que considerar también la accesibilidad, y si javascript estuviese desactivado, lo correcto sería
Código:
Asi el usuario no se pierde de ver el contenido. Pero es medio relativo, si hago una página con Ajax, que habilite javascript.<a href="contenido2.html" onclick="cargarAjax('contenido2.html','Contenedor'); return false">2</a> En cuanto a tu simplificación, si puede ser, pero si usás onchange es preferible agregar un value vacio y hacerlo con la función. Recordá que el onchange solo se ejecuta cuando "hay un cambio", en tu caso, deberías hacer que por defecto se cargue contenido1.html cuando se hace onload de la página, caso contrario, el div contenedor aparecerá vacío y en el combo, seleccionado por defecto, contenido1, en la práctica el cliente entonces para ver el contenido1, primero debería clickear contenido2 y después nuevamente el 1, se entiende. O claro está la otra alternativa, incluir el botón "Cargar" Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? quike88, gracias por en enlace, lo voy a estudiar. Emprear. Tienes razón. De hecho en la implementación que estoy probando es para un formulario, donde la primer pregunta es para definir las siguientes, por lo que tengo un option vacío. Yo creo que voy a iniciar un tema nuevo para profundizar en el tema, y en la sección JavaScript. Luego pongo el link al tema nuevo aquí. No quería salirme demasiado del punto original. Un último punto antes de mudarme de tema. En cuanto a lo semántico. a) Link con href="#" b) Span formateado Otra opción es un input type button con un onclick... ¿Qué tan válido será un botón solitario, incluso fuera de un formulario? Última edición por Rafael; 12/04/2013 a las 04:34 |
| ||||
Respuesta: ¿Como puedo sustituir el contenido de un <section>? html5 admite un input type=button fuera del form, o sencillamente usás <button></button> Saludos
__________________ La voz de las antenas va, sustituyendo a Dios. Cuando finalice la mutación, nueva edad media habrá S.R. |
Etiquetas: |