IE中的struts验证问题

时间:2010-04-01 15:08:05

标签: java internet-explorer struts

我正在使用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],则可以正常使用。如何解决这个错误?

1 个答案:

答案 0 :(得分:0)

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