qqjianyue代码工

砌java代码
posts - 62, comments - 9, trackbacks - 0, articles - 10
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

form submit() 提交问题

Posted on 2008-08-27 15:42 Qzi 阅读(4073) 评论(1)  编辑  收藏 所属分类: javascript
javascript是经典的敏感性语言,小小问题都会导致整体功能出错。

自己调用document.form[0].submit()的时候,会出现submit is not a function错误(使用firefox的firebug调试,非常好用),原因是页面的form中出现具有name=submit的元素,这样会影响到javascript调用submit()函数,改掉那个name=submit的元素即可。

另外submit提交struts1.2的action时候,如果后面跟有?method=***等的参数,那么注意,这个函数里面不要出现有method等关键字。
例如函数:
function changeAction(methodArg, wayArg){
 with (document.forms[0]) {
  action="<html:rewrite page='/BgdInfoReportAction.do'/>?method="+ methodArg + "&way=" + wayArg;
  submit();
 }
}
使用?method=***是在使用dispatchAction时候的做法原来我的参数名称是method和way,
结果报错:Action[/BgdInfoReportAction] does not contain method named post
原因是?后的method变得没有效,那么这个submit提交使用默认的post方法提交(servlet默认分为post和get方法嘛),
后来我将method改成methodArg和way改成wayArg,这个action就能够正确执行。
我重复测试改与不改的效果,仍然与上面一样。总结原因可能是是javascript的一些关键字冲突,所以尽量使用特殊一点的字符串作为变量名。

评论

# re: form submit() 提交问题  回复  更多评论   

2011-08-10 14:51 by 阿什顿
撒旦法

只有注册用户登录后才能发表评论。


网站导航: