2010-04-01 44 views
1

我在使用Struts 2.1.8並面臨IE中的驗證問題。我收到以下錯誤IE中的struts驗證問題

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

檢查生成的HTML源代碼。在網頁瀏覽器中打開該頁面,單擊右鍵並選擇查看源文件。輸入字段的名稱是真的是district.name?是不是像許多其他MVC框架一樣前綴/後綴其他自動生成的密鑰(可能是<form>的ID /名稱)?如果是這樣,則需要相應地更改JavaScript代碼,以便它使用HTML DOM樹中顯示的正確元素名稱。你知道,JavaScript運行在客戶端機器上,只能看到生成的HTML DOM樹,而不是負責生成HTML的「原始」服務器端代碼。