java - IE中的struts验证问题

标签 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],它就可以正常工作。如何修复这个错误?

最佳答案

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

关于java - IE中的struts验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2561381/

相关文章:

java - 调用ServletOutputStream后转发到JSP

java - 使用 java 信号量解决读者/作者问题

javascript - 如果用户使用的是 IE 9 及更低版本,则使用 jQuery 显示 div

css - AngularJS 应用程序中的 IE "Style Calculation"性能非常慢

javascript - Js/jQuery 包含函数在 IE 中不起作用

java - Struts Tiles 1 - 嵌套磁贴问题

java - 不知道用户什么时候才能停止猜测呢?

java - 如何打印特定数量的字符串,例如 "_"?

java - 到达 Controller 时子类型数据丢失

javascript - Angular Translate - 获取翻译表