我正在使用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]
,则可以正常使用。如何解决这个错误?
答案 0 :(得分:0)
检查生成的HTML源代码。在webbrowser中打开页面,右键单击并选择查看源。输入字段的名称是否真的 district.name
?是不是像许多其他MVC框架那样以其他一些自动生成的密钥(可能是<form>
的ID /名称)作为前缀/后缀?如果是这样,您需要相应地更改JavaScript代码,因为它使用HTML DOM树中显示的正确元素名称。您知道,JavaScript在客户端计算机上运行,只能看到生成的HTML DOM树,而不是负责生成HTML的“原始”服务器端代码。