我正在使用 Struts 2.1.8,并在 IE 中面临验证问题。我收到以下错误
An exception occurred: Error. Error message: Invalid argument.
我尝试找出原因并发现以下内容。我生成的 JavaScript 代码是:
field = form.elements['district.name'];
var error = "Enter only alphabets for district";
if (continueValidation && field.value != null && !field.value.match("^[a-zA-Z ]*$")) {
addError(field, error);
errors = true;
}
我尝试通过将相同的代码放入函数中并在 onclick 事件中调用它来进行模拟。方法
addError()
抛出异常,原因是field
变量。如果我将其更改为field[0]
,则效果很好。如何修复这个错误?
检查生成的 HTML 源。在网络浏览器中打开页面,右键单击并选择“查看源代码”。输入字段的名称是真的district.name
吗?它不是像许多其他 MVC 框架一样以其他一些自动生成的键(可能是
<form>
的 ID/名称)作为前缀/后缀吗?如果是这样,您需要相应地更改 JavaScript 代码,使其使用 HTML DOM 树中显示的正确元素名称。您知道,JavaScript 在客户端计算机上运行,只能看到生成的 HTML DOM 树,而不是负责生成 HTML 的“原始”服务器端代码。