第一个问题可以这么处理
<form name="form1">
<tr>
<tr><input type="button" name="bt1" onclick="butt1();">
<div name="dname">
<td><input type="text" name="t1"></td>
</div>
</tr>
</form>
<script>
function butt1()
{
var str1,str2;
str1=document.all.item("dname").innerHTML;
str2='<td><input type="text" name="t2"></td>'
document.all.item("dname").innerHTML=str1+str2;
}
</script>

解决方案 »

  1.   

    liwen1234()谢谢你啊,动态的页面我已经做出来了,我的意思是表单的属性不固定,那么actionform的属性名称应该是跟表单的属性名称对应的啊。我在忙我的乱码问题,想哭啊555555555
      

  2.   

    第一个问题:
    你可以把这些新生成的属性,都叫一个名字,比如:
    <html:text name="aaa" ....
    <html:text name="aaa" ....一般情况下,form 中都是基本数据类型的,比如:String ,但是,对于这中情况,我们可以
    把它声明为一个数组:
    String[]  bbb ;
    bbb = request.getParameter("aaa");这样,就可以满足你的需求了。
    第二个问题:
    这个问题,不是中文乱码问题,
    当你一个操作结束之后,你就应该把页面的输入从 request 中移除。在 excute()方法中的 return 之前,你做如下工作:      /*从 httpServletRequest 范围内 将 actionMapping 的相关信息移除*/
          httpServletRequest.removeAttribute(actionMapping.getAttribute());
    然后你再返回,保证没有问题!
    我上边说的情况,是 actionForm 是在 request 范围内有效的。如果 actionForm 在 session 范围内有效,你也要做同样的工作。这个问题,你可以参照这个帖子:
    http://community.csdn.net/Expert/topic/4598/4598512.xml?temp=.6165277
      

  3.   

    zeq258(近朱者赤) 朋友你给的地址我打不开呀,非常谢谢你呀,我第一个问题有答案拉
      

  4.   

    刚才开会中,
    我的意思是表单的属性不固定,那么actionform的属性名称应该是跟表单的属性名称对应的啊。我在忙我的乱码问题,想哭啊555555555
    晕,干嘛一定用actionform?这段动态的在action这么写
    request.getparameter("t2")
    就行了
      

  5.   

    zeq258(近朱者赤)提供的解决乱码问题的方法我试过了,但没成功,再明确一下问题,
    1.页面直接在浏览器的地址栏打开没任何问题
    2.此页面为添加页面,所以没从数据库读数据
    3.在action里没做任何处理,直接mapping.findforward()转发的
    4.config里边action是这样的
    <action name="addhotelForm" path="/hotelAction" scope="request" type="com.jewel.hotel.manage.action.HotelAction" attribute="addhotelForm">
    其中这个attribute="addhotelForm"是看 zeq258(近朱者赤) 朋友提供的帖子加上去的,个人不太明白这个参数的意思,也不知道写对了没。回复liwen1234() 非常感谢你的热心,我是想找到一个通过actionform提交的方法,非常感谢!!
    乱码问题还没解决我哭
      

  6.   

    那只有等待其他的方法了,
    我以前遇到过类似的问题,就是没有
    httpServletRequest.removeAttribute(actionMapping.getAttribute());
    造成的。我再提一个地方,可能会有问题:
    就是 actionForm 的 reset 方法:在reset方法中,你让所有的属性都为 "";
    比如:
      public void reset(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {    usernanme= "";
        password = "";
    .........//这里是你的属性,做同样的处理  }
    -----------------
    你这样试试吧,
      

  7.   

    到今天了问题还是没有解决,网上基本上乱吗的问题都看过了,实在郁闷的很
    今天再顶一下,不晓得能不能解决
    在说下这个乱吗问题的关键
    1.页面直接在浏览器的地址栏打开没任何问题
    2.此页面为添加页面,所以没从数据库读数据
    3.在action里没做任何处理,直接mapping.findforward()转发的
    4.乱吗页面在浏览器里边 点右键菜单 发现编码变成了西欧的,但转成中文后仍然是问号
    5.这样的问题原来我在用tomact4.1的时候遇到了,是在action里加了
        response.setContentType("text/html;charset=GBK");
        request.setCharacterEncoding("GBK");
    这样的2句就正常了,但现在变成5.5的服务器,就没用了。我又在外边装了个5.0还是有问题
    现在非常郁闷啊,希望大家能来帮帮我,这个问题加分到200分,解决了马上给分!!HELP!~~
      

  8.   

    第二个问题的话,我做的时候只是在jsp页面上的头<%@page contentType="text/html; charset=GB2312" language="java"%>就好了,
    第一个问题没有完全看明白,不知道你是不是根据输入的内容不同,跳到不同的页面里去,
    如果是这样的话,你就可以在action里先定义一个ActionForward这个类型的变量,然后根据你的判断在把ActionForward = mapping.findForward(""),就可以了。不知道你的是这个意思吗