jsp页面有个下拉框<select>...请问利用脚本怎么获取下拉框的值添加到...
发布网友
发布时间:2022-05-10 01:36
我来回答
共1个回答
热心网友
时间:2022-04-20 23:47
你在你的器官qiguan这个对象里面添加一个pointS字段,然后你的select 标签name就设为qiguan.pointS就行了
这个和你下面的器官名称和描述的是一样的,你提交表单到action后,下拉列表的值自动就复制到qiguan对象的对应字段上了。追问大神, 我按照你的做了,在qiguan实体类里头封装了个String类型的pointS字段,然后也把select标签的name换成qiguan.pointS了,这次完全没有添加到数据库表中,请问什么原因呢? 你看看我的脚本代码有问题吗?上面的图
追答
你这个是用的Struts2框架,由于我不知道你的那个action类叫什么名字,我就假设为QiguanAction.java, 然后你的那个实体就叫Qiguan.java,那么首先你的保证你的action里面是下面的结构:
public class QiguanAction extends ActionSupport {
Qiguan qiguan;
public Qiguan getQiguan(){
return qiguan;
}
public void setQiguan(Qiguan qiguan) {
this.qiguan = qiguan;
}
//由于你action里面有些什么方法,就大概这样了
}
确保了上面qiguan变量和有getter,setter方法后,那么有两种方法解决你给的这个问题:
1,就是改JS,location.href="addQiguan.action?qiguan.pointS="+opval;
//其他的参数也一样,跳转到action后,框架自动把值给你注入到声明的qiguan变量里面,你 //直接用就是了,你可以在你的后台里面打印下看看接收到数据没;
2,就是用一个form把你上面的那些字段包起来,然后通过提交表单提交过去:
//JS的test方法改造
function test(){
document.getElementById("frm").submit();
}
//HTML的改动
<form action="addQiguan.action" method="post" id="frm">
<select name="qiguan.pointS" id="pointS" ... >
...
<a onclick="test();">添加</a>
</form>