window.event
(также именуемый просто event
) не является стандартным глобальным объектом в JavaScript. Это «функция» только для IE.
См. этот вопрос .
Попробуйте изменить объявление функции на:
function submitSearchForm(action, iskeyDown) {
// ...
// { <------------------------------------------------ brace removed
if (validate(document.SearchForm)) {
document.SearchForm.action.value = action;
document.SearchForm.submit();
}
// } <----------------------------------------------- brace removed
}
Брекеты в JavaScript не работают так же, как, скажем, в Java. В зависимости от того, где они находятся, они означают разные вещи. Пример: этот вопрос .
Я предполагаю, что синтаксическая ошибка в объявлении функции submitSearchForm
является источником вашей проблемы.
Я все еще не уверен, что код, который вы разместили, на самом деле является кодом, который видит браузер, но если это так, попробуйте это:
function submitSearchForm(action, iskeyDown) {
var oneEntered = false;
if (iskeyDown === null || typeof iskeyDown === 'undefined') {
copyAndValidate("dobFrom", "searchCriteria.dob", "date");
copyAndValidate("dobTo", "searchCriteria.dobTo", "date");
copyAndValidate("dodFrom", "searchCriteria.dodFrom", "date");
copyAndValidate("dodTo", "searchCriteria.dodTo", "date");
copyAndValidate("searchCriteria.age", "searchCriteria.age", "integer");
} else {
copyAndValidate("dobFrom_date", "searchCriteria.dob", "date");
copyAndValidate("dobTo_date", "searchCriteria.dobTo", "date");
copyAndValidate("dodFrom_date", "searchCriteria.dodFrom", "date");
copyAndValidate("dodTo_date", "searchCriteria.dodTo", "date");
copyAndValidate("searchCriteria.age", "searchCriteria.age", "integer");
}
var elements = document.SearchForm.getElementsByTagName("INPUT");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (element !== null && element.getAttribute("group") === 'searchCriteria') {
if (!isEmpty(element.value)) {
oneEntered = true;
break;
}
}
}
if (oneEntered)
{
if (validate(document.SearchForm)) {
document.SearchForm.action.value = action;
document.SearchForm.submit();
}
}
else {
alert('<%= bpt.getValue("CCT_ATLEASTONE_MSG") %>');
}
}