我需要创建一个jsp页面来编辑oracle数据库中的数据。 我认为最简单的事情就是创建一个显示重要信息的组合框 (在这种情况下:id +材料的名称)但我在填写文本字段时遇到问题。
我的想法是在组合框上的文字发生变化后填写这些字段,但我真的不知道该怎么做。我知道有了组合框的信息,我必须进行查询才能获得数据,然后回想起jsp或者其他东西,但是如果我必须调用Servlet或者什么是最好的方法,我就不会这样做。做到这一点。
很抱歉,如果重复这个问题,但我没有发现任何有用的帖子。
一些代码:
<sql:setDataSource dataSource="bd/login"/>
<sql:transaction>
<%--Vamos a hacer una consulta a la bd--%>
<sql:query var="resultado">
select * from material order by codigo
</sql:query>
</sql:transaction>
<form name="formActualizar" action="../ServletActualizarDatos" method="POST">
<select name="select" styleId = "tempId" onchange="ActualizarDatos()">
<option selected="selected"> -- Elija material --</option>
<c:forEach var="material" items="${resultado.rows}">
<option value="${material.codigo}">${material.codigo} ${material.nombre}</option>
</c:forEach>
</select><br/><br/>
Código<br/>
<input type="text" name="codigo" value="" /></p>
Nombre<br/>
<input type="text" name="nombre" value=""/></p>
Resistencia<br/>
<input type="text" name="resistencia" value="" /></p>
<input type="submit" name="bt" value="Actualizar Material" />
</form>
<script>
function ActualizarDatos()
{
String texto = this.options[this.selectedIndex].text;
Material m = ServletActualizarDatos.ObtainMaterialFromCombo(text);
this.form['codigo'].value=String.valueOf(m.getCodigo());
this.form['nombre'].value=m.getNombre();
this.form['resistencia'].value=String.valueOf(m.getResistencia());
}
</script>
感谢您的帮助。
///代码已更新,并且已经开始工作,事件未被调用
答案 0 :(得分:0)
当选择框更改为从此选择框选择的值和所选选项设置输入字段的值时,您需要javascript来处理事件。
<select name="select" styleId = "tempId" onchange="this.form['codigo'].value=this.value;this.form['nombre'].value=this.options[this.selectedIndex].text;">