Ver Mensaje Individual
  #14 (permalink)  
Antiguo 11/04/2013, 17:00
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Como puedo sustituir el contenido de un <section>?

Cita:
Iniciado por Rafael Ver Mensaje
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?
para que el href que conlleva el link no se ejecute.
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:
<a href="contenido2.html" onclick="cargarAjax('contenido2.html','Contenedor'); return false">2</a>
Asi el usuario no se pierde de ver el contenido. Pero es medio relativo, si hago una página con Ajax, que habilite javascript.

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.