Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/03/2009, 13:58
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: div es necesario?

Estás haciendo:

Código javascript:
Ver original
  1. selectDestino.parentNode.innerHTML= blablabla

No tiene que ver con el responseText ni con la llamada por AJAX ni nada. Sólo tiene que ver con esa línea. Esa línea dice:

Para el selectDestino, coge su nodo padre (es decir, el nodo en el que está contenido ese select), y cambia todo lo que haya dentro (innerHTML) de ese nodo por blablabla.

Concretando más, siguiendo el trozo de HTML que has puesto, el nodo padre del <select> es precisamente ese <p> que comentas. Así que lo que ocurre es lo que dices y es completamente natural, porque ocurre lo que le estás pidiendo que haga: meter lo que sea (el responseText) en el <p>.


Esto enlaza con tu otra pregunta esa de "es necesario meter las cosas en un <div>?". La respuesta a esa pregunta es "no, necesario no es, pero si haces las cosas como lo estás haciendo (con esa línea del parentNode) entonces querrás poner el div para que funcione como esperas que funcione". La explicación:

Tienes actualmente:
Código:
<p>...<select></select>...</p>
Ahí el parentNode es el <p> y estás cambiando todo el contenido de ese <p>. Si pones un <div>:
Código:
<p>...<div><select></select></div>...</p>
Entonces el parentNode del <select> es el <div> y sólo cambiarás el contenido de ese <div>.

Pero esto no quiere decir que sea necesario. Sólo quiere decir que tal como estás haciendo tú las cosas entonces querrás tener ese <div> ahí para que funcione como tú esperas que funcione. Hay otras formas de hacerlo, sin el <div> o con él. Depende de cómo hagas las cosas tendrás que ponerlas de un modo u otro para que funcionen como quieres.