各位高手:小弟在做一个struts的项目,需要在一个页面动态生成输入框,生成输入框代码如下:
function AddNewRow()
{
if (i<=10){
var rowcount=Mytable.rows.length ;
var newrow=Mytable.insertRow(-1);
newrow.insertCell(0).innerHTML= "编号"+ i +"";
newrow.insertCell(1).innerHTML="<INPUT type=text name='addsubno'style=\"WIDTH: 200px; HEIGHT: 22px\" size=8 value=\""+ "\">";
i++;
} else {
alert("注意,一次最多生成10个输入框");
}
}
动态输入框生成的内容保存到数组addsubno中传递到后台action,在action对addsubno中的输入内容进行检查时如果数组中的输入值不合要求就返回的页面进行修改,现在的问题是返回到页面时页面重新刷新了,以前生成的输入框都没有保存,即使再重新生成后生成的输入框也不能得到以前输入的值了,请教各位如果想保存以前的输入框并把以前输入的值保存到相应的框中该怎么实现。问题搞定结帖给分!
function AddNewRow()
{
if (i<=10){
var rowcount=Mytable.rows.length ;
var newrow=Mytable.insertRow(-1);
newrow.insertCell(0).innerHTML= "编号"+ i +"";
newrow.insertCell(1).innerHTML="<INPUT type=text name='addsubno'style=\"WIDTH: 200px; HEIGHT: 22px\" size=8 value=\""+ "\">";
i++;
} else {
alert("注意,一次最多生成10个输入框");
}
}
动态输入框生成的内容保存到数组addsubno中传递到后台action,在action对addsubno中的输入内容进行检查时如果数组中的输入值不合要求就返回的页面进行修改,现在的问题是返回到页面时页面重新刷新了,以前生成的输入框都没有保存,即使再重新生成后生成的输入框也不能得到以前输入的值了,请教各位如果想保存以前的输入框并把以前输入的值保存到相应的框中该怎么实现。问题搞定结帖给分!
解决方案 »
- Connsection reset可能是什么原因引起的
- 那位会J2EE开发的给推荐两本书,谢谢!我是新手
- 如何解决在jsp页面显示html标记,而不被浏览器解释,解决问题,立刻给分!!
- 运行.java文件,为什么把源码给显示出来了呀?
- 如何在使用〈META HTTP-EQUIV="REFRESH" CONTENT=?〉使页面刷新时,是页面停止刷新!
- request.getRemoteAddr()方法获得客户端IP,如果客户端使用了代理服务器,得到的就是代理服务器的IP,如何得到实际的IP呢?
- Sip Servlet 懂的进来啊
- 请教几个servlet的问题
- Int 到String类型转换问题,在线等待
- 一个java.lang.NoSuchMethodError错误,求帮助
- 在Struts中,怎么实现提交表单到后台时如何显示一个等待页面?直到处理结果返回,非常急,在线等!!!
- ···············请教高手(Timer新邮件提示)···············帮顶给分·····
1、直接写javascript校验
2、不要刷新原页面,在页面上嵌入一个iframe,校验时将form的target设到iframe,在iframe中执行校验,校验后用iframe的javascript处理主页面的提交
3、用javascript的histroy.back()回退
request.setAttribute("_JavaScript", "window.location.href='/nanbo/errorInfo.do';");
return mapping.findForward("info");
struts: <global-forwards>
<forward name="info" path="**.jsp" />
</global-forwards>
**.jsp:<table>
<tr>
<td style="font-size:14px" height="100" align="center">
<logic:notEmpty name="_JavaScript" scope="request">
<script language="javascript" type="text/javascript">
<bean:write name="_JavaScript" scope="request" filter="false" />
</script>
</logic:notEmpty>
</td>
</tr>
</table>
request.setAttribute("_JavaScript", "window.history.back();");
actionform不是支持map么? 你可以在输出的时候把需要的key输成数字,然后在form以
getxxx(String key){
return xxx[Integer.valueof(key).intValue()];
}
我只是这样想的,没试过
但是"_JavaScript"是不是我动态生成输入框的那段脚本,如果执行了这段脚本它有如何判断上次生成了几个呢,能不能把上次输入的值set到相应的输入框呢,还请大家指教。
action:
request.setAttribute("_JavaScript", "window.location.href='/nanbo/errorInfo.do';");
return mapping.findForward("info");
struts: <global-forwards>
<forward name="info" path="**.jsp" />
</global-forwards>
**.jsp:<table>
<tr>
<td style="font-size:14px" height="100" align="center">
<logic:notEmpty name="_JavaScript" scope="request">
<script language="javascript" type="text/javascript">
<bean:write name="_JavaScript" scope="request" filter="false" />
</script>
</logic:notEmpty>
</td>
</tr>
</table>
也不行,不知道是我没有理解上面的意思还是方法不行,在action中出错了返回到源页面时页面不会有动态生成的输入框,我现在想做的就是出错时返回到源页面时页面生成与提交页面时生成的输入框数目相同并且提交时输入的值显示在源页面上(即一直是同一个页面),即我在1.jsp动态生成n个输入框,输入n个数目,校验的时候发现输入的有错误,返回1.jsp 这是刷新了页面但是要求重新生成n个输入框,并把刚才输入的数字显示到框中。 还请各位帮忙啊