在struts2中,在jsp页面上放了一个hidden标签,这个:<input type="hidden" name="tempWareHouse" value="">,在页面上还有一个<select>标签,当select标签的值改变的时候,我就给这个hidden标签赋了值,是这样赋值的:document.getElementsByName("tempWareHouse").value=obj.options[obj.selectedIndex].text; obj是<select>标签的onchange事件中调用的javascript的参数,在<select>标签的onchange事件中传的是this,然后我在<FORM action="searchStockAdjustmentList" method="post" name="form"> form对应的这个searchStockAdjustmentList action中放了一个叫tempWareHouse的属性,写了get和set方法,点击submit按钮后,为什么我在action中this.getTempWareHouse()总是取不到在页面上传的值呢?其它属性都可以啊 ,郁闷了我半天,总找也找不到问题所在啊....................求教!!!!!!!!!!!!!!!!
解决方案 »
- 关于hibernate中的query.Iterator的疑惑
- 求大容量数据的操作的一般思路,大家来讨论【此贴申请加精,希望火】
- spring的一些配置看不懂
- 求助-AIX 5.3上编译jakarta-tomcat-connectors-jk2-2.0.4-src失败
- jdk6已经将Derby数据库做为一部分了,csdn上也要开一个Derby版,支持的顶一个!!!
- display的问题,急
- 小妹跪求myEclipse开发Hibernate实例(数据库为SQL Server2000)
- axis2部署的几种方法
- 求一正规表达式
- struts2 中的遍历标签
- struts2 怎么接收客户端的json格式数据
- 项目包冲突如何解决?
确定赋上值了,用alert都可以把值show出来
现在是确定有get set方法了........真是灵异的问题啊
<FORM action="searchStockAdjustmentList" method="post" name="form">
<input type="hidden" name="tempWareHouse" value=""><select name="wareHouseID" onchange="javascript:setValue(this);">
<option value="0" selected="selected">
- - -
</option>
<c:forEach var="wareHouse"
items="${requestScope.wareHouseList}" varStatus="sta">
<option value="${wareHouse.ID}">
${wareHouse.cnName}
</option>
</c:forEach>
</select>
function setValue(obj){ document.getElementsByName("tempWareHouse").value=obj.options[obj.selectedIndex].text;
}后台:private String tempWareHouse; public String getTempWareHouse() {
return tempWareHouse;
} public void setTempWareHouse(String tempWareHouse) {
this.tempWareHouse = tempWareHouse;
}request.setAttribute("contWareHouse",this.getTempWareHouse());
var tempWareHouse=document.getElementsByName("tempWareHouse").value;
alert(tempWareHouse);
的方法看能不能打印出值来。
可以alert出来 有值,和选中的值是一样的
在submit按钮上加onclick事件 可以alert出数据来
这个不关事的,页面上只有这一个元素的name属性是tempWareHouse的
public void deleteObject(Class<T> c, Serializable id) { {//这是带泛型参数的方法
Object obj=this.getHibernateTemplate().load(c, id);
this.getHibernateTemplate().delete(obj);
}
} function findprod(){
var id=dwr.util.getValues("findFrm");
var c = "<%=Productioninfo.class%>";
commonDAO.deleteObject(c, Serializable id);
}为什么这我这样调用总是弹出对话框“Error”?????
不会报错,就是在this.getTempWareHouse()的时候的值总是""
这么神奇,确保页面中的tempWareHouse与action中的set和get方法是一致的。实在不行,剩下的就是RP问题了
然后改用普通的hidden标签<input type="hidden" name="testHidden" value="testHiddenNewValue" />能够在action中获取到值的;
lz不妨试一下:<input type="hidden" name="tempWareHouse" value="testValue">
先不要使用select标签的onchange事件赋值,看看直接这样写,后台action中是否能够获取到值...
onchange="javascript:document.all('tempWareHouse').value=this.options[this.selectedIndex].text;"
奇怪啊,不知道为什么这样就行,有哪位可以解释一下,真是奇怪啊
document.getElementsByName...
哥们你怎么这么多不兼容的写法啊,一般JS只推荐使用ById进行赋值,楼上有一位提示你了,可是你连试都没试过就说这个不关事...
其实你试下就知道了,即使你标签是name='a',不想再写个ID属性,也可以直接用ById获取元素,然后赋值,但是就不要用Name了,这个获取的是集合,给集合上的属性赋值,不代表是集合内元素的属性赋值!