Mostrar cosas distintas en campo text según select
Aquí estoy otra vez con otra duda!
Tengo un formulario que va a permitir a un usuario crear, abrir y eliminar carteras con 4
campos:
* Identificador de cartera: campo select que muestra "Nueva cartera" por defecto y una
lista de todas las carteras que posee el usuario
* Identificador nueva cartera: campo text sólo activado si el anterior está establecido en
"Nueva cartera". En caso contrario está desactivado
* Entidad gestora: campo text siempre activado cuyo valor depende del primer campo, estando vacío con "Nueva cartera", o conteniendo la entidad gestora que corresponde a la cartera seleccionada. En este último caso permito modificarla también. Realmente representa la entidad gestora que gestiona cada cartera.
* Abrir cartera / Borrar cartera: campo tipo radio donde "Borrar cartera" estará desactivado
con "Nueva cartera"
Explicada la situación, todo esto es dinámico usando javascript, lo cual consigo con el siguiente código excepto una cosa:
function habilitarCamposAdmonCarteras() {
if (document.admonCarterasForm.idCart.value == "nuevCart") {
document.admonCarterasForm.idNuevCart.disabled = false;
document.admonCarterasForm.operacCart[1].disabled = true;
document.admonCarterasForm.entGest.value = "";
} else {
document.admonCarterasForm.idNuevCart.disabled = true;
document.admonCarterasForm.operacCart[1].disabled = false;
document.admonCarterasForm.entGest.value = ¿?;
}
}
El formulario en cuestión se llama "admonCarterasForm", y el aspecto en el que necesito
ayuda en donde figura "¿?"
Para cargar la lista de las carteras que posee el usuario en el select, tengo este código:
<html:select property="idCart" onchange="javascript:habilitarCamposAdmonCarteras();" value="nuevCart">
<html:option value="nuevCart">Nueva cartera</html:option>
<html:optionsCollection name="usuarioContainer" property="cartGlob.carteras" value="idCartera" label="idCartera"/>
</html:select>
Como puede verse, tengo un bean guardado en la sesión del usuario llamado "usuarioContainer", el cual posee un objeto llamado "cartGlob", y éste a su vez tiene almacenado una lista con todas las carteras del usuario llamada "carteras". Cada uno de los elementos de esta lista es otro bean (que representa cada Cartera individual) con el que, a través de "idCartera" obtengo el nombre de la cartera, y a través de "entGest" obtendría el nombre de la entidad gestora.
¿Cómo consigo, teniendo en cuenta este almacenamiento, que el nombre de la entidad gestora cambie dinámicamente al modificar en el campo select del formulario el identificador de cartera?
Tengo un formulario que va a permitir a un usuario crear, abrir y eliminar carteras con 4
campos:
* Identificador de cartera: campo select que muestra "Nueva cartera" por defecto y una
lista de todas las carteras que posee el usuario
* Identificador nueva cartera: campo text sólo activado si el anterior está establecido en
"Nueva cartera". En caso contrario está desactivado
* Entidad gestora: campo text siempre activado cuyo valor depende del primer campo, estando vacío con "Nueva cartera", o conteniendo la entidad gestora que corresponde a la cartera seleccionada. En este último caso permito modificarla también. Realmente representa la entidad gestora que gestiona cada cartera.
* Abrir cartera / Borrar cartera: campo tipo radio donde "Borrar cartera" estará desactivado
con "Nueva cartera"
Explicada la situación, todo esto es dinámico usando javascript, lo cual consigo con el siguiente código excepto una cosa:
function habilitarCamposAdmonCarteras() {
if (document.admonCarterasForm.idCart.value == "nuevCart") {
document.admonCarterasForm.idNuevCart.disabled = false;
document.admonCarterasForm.operacCart[1].disabled = true;
document.admonCarterasForm.entGest.value = "";
} else {
document.admonCarterasForm.idNuevCart.disabled = true;
document.admonCarterasForm.operacCart[1].disabled = false;
document.admonCarterasForm.entGest.value = ¿?;
}
}
El formulario en cuestión se llama "admonCarterasForm", y el aspecto en el que necesito
ayuda en donde figura "¿?"
Para cargar la lista de las carteras que posee el usuario en el select, tengo este código:
<html:select property="idCart" onchange="javascript:habilitarCamposAdmonCarteras();" value="nuevCart">
<html:option value="nuevCart">Nueva cartera</html:option>
<html:optionsCollection name="usuarioContainer" property="cartGlob.carteras" value="idCartera" label="idCartera"/>
</html:select>
Como puede verse, tengo un bean guardado en la sesión del usuario llamado "usuarioContainer", el cual posee un objeto llamado "cartGlob", y éste a su vez tiene almacenado una lista con todas las carteras del usuario llamada "carteras". Cada uno de los elementos de esta lista es otro bean (que representa cada Cartera individual) con el que, a través de "idCartera" obtengo el nombre de la cartera, y a través de "entGest" obtendría el nombre de la entidad gestora.
¿Cómo consigo, teniendo en cuenta este almacenamiento, que el nombre de la entidad gestora cambie dinámicamente al modificar en el campo select del formulario el identificador de cartera?
1 Respuesta
Respuesta de Fernando Rosado Altamirano
1