Solución:
-
No puede llamar a la función JavaScript en la declaración if de JSP, porque JSP se ejecuta en el lado del servidor y JavaScript se ejecuta en el lado del cliente.
-
Debe activar el evento cuando se hace clic en el botón de radio, usando
onclick
evento al que puedes llamar a la funcióncorc()
. -
No escriba scriptlets en JSP, porque los scriptlets no deberían usarse en JSP durante más de una década. Aprenda JSP EL, JSTL y utilice el servlet para el código Java. ¿Cómo evitar el código Java en archivos JSP?
Código JSP:
.......
........
//use <form> to submit values to servlet
<input type="radio" name="radio1" onclick="handleClick(this.id);" id="customerId" />
<input type="radio" name="radio1" onclick="handleClick(this.id);" id="companyId" />
......
.......
//use hidden field to assign table value i.e. "customer" or "company".
<input type="hidden" name="tableValue" id="tableTextId" />
//</form> closing form tag
onclick
evento que asigné handleClick
función y pasado this.id
, parámetro this.id
se utiliza para pasar el id
atributo del botón de radio en el que se hizo clic.
Código JavaScript:
<script type="text/javascript">
function handleClick(clickedId)
{
if(clickedId == "customerId")
document.getElementById('tableTextId').value = "customer";
else
document.getElementById('tableTextId').value = "company";
}
</script>
- Cuando envíe el formulario, en el servlet puede obtener el valor del campo oculto.
String tableName = request.getParameter (“tableValue”); // pasar el nombre del campo oculto, es decir, tableValue
- Puedes seguir pasando esto
tableName
para consultar.
Enlaces relacionados
- ¿Cómo transferir datos de JSP a servlet?
- formularios en HTML