【发布时间】:2015-02-06 10:28:02
【问题描述】:
我无法通过 javascript 函数提交表单。当用户单击链接时,我有一个要求,我需要提交表单。以下是在浏览器控制台上看到的错误:
Uncaught TypeError: Cannot set property 'action' of undefined
请建议我如何提交表单以调用 spring 控制器方法。
下面是javascript函数:
function submitDataOnClick(){
document.myForm.action = contextPath + "/dataProcess.htm";
document.myForm.submit();
}
<body>
<form name="myForm">
//all form elements..
<table class="myClass">
<tr><td><a href="" onclick="submitDataOnClick()"> </a></td></tr>
</table>
</form>
</body>
弹簧控制器:
@RequestMapping(value = "/dataProcess", method = RequestMethod.GET)
public ModelAndView dataProcess(HttpServletRequest request,
HttpServletResponse response,
BindingResult beException)
throws IOException {
//logic...
ModelAndView mav = new ModelAndView();
mav.setViewName("home");
return mav;
}
【问题讨论】:
-
使用
id和getElementById(),通过document直接引用元素十年前已被弃用。 -
您必须在函数中传递对 myForm 的引用。或者正如第一位评论者所说,您可以使用 getElementById() 获取 myForm
-
@Teemu 虽然它已被弃用,但它应该仍然可以工作。知道他为什么会出错吗?
-
@Barmar 不知道,OP 的代码似乎在 FF as it is 中工作。
标签: javascript jquery html jsp spring-mvc