2010-04-01 2 views
1

Я использую Struts 2.1.8 и сталкиваются с проблемой проверки в IE. Я получаю следующую ошибку:проблема проверки уязвимости в 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

Проверьте сгенерированный HTML-код. Откройте страницу в webbrowser, щелкните правой кнопкой мыши и выберите View Source. Является ли имя поля ввода действительноdistrict.name? Разве это не префикс/суффикс с каким-то другим автогенерированным ключом (возможно, ID/имя <form>), как и многие другие фреймворки MVC? Если это так, вам нужно соответствующим образом изменить код JavaScript, чтобы он использовал имя правого элемента, как он отображается в дереве HTML DOM. Вы знаете, JavaScript работает на клиентской машине и видит только сгенерированное дерево HTML DOM, а не «оригинальный» серверный код, который отвечает за генерацию HTML.

Смежные вопросы