Я работаю над проектом (очень старый, который был восстановлен) для клиента.
Когда я просматриваю одну из JSP проекта в Firefox (в данном случае 4.0, но я полагаю,это также происходит с 3.x), на консоли Firebug появляется следующая ошибка:
Ошибка: слишком много рекурсии
Архивация: https://localhost:9443/ClientProjectWeb/js/Object.js
Линия: 226
Вот фрагмент кода этой строки:
if(gControl){giveFocusToControl(gControl.name);}
Это вызванная функция:
function giveFocusToControl(nombreControl){
var forma = document.forms[0];
var campo = null;
if(forma){
var elemento = eval("forma."+nombreControl);
if(eval(elemento.length)){
if(elemento.type == "select-one" || elemento.type == "select-multiple"){
campo = elemento;
}else{
campo = elemento[0];
}
}else{
campo = elemento;
}
if(campo.style && campo.style.visibility){
if(campo.style.visibility != "hidden"){
campo.focus();
}
}else{
campo.focus();
}
}
}
Я подозреваю, что это связано с eval()
вызовами внутрифункция, но, несмотря на то, что я пытался заменить эти «злые» вызовы альтернативой [], предложенной в этом документе , например: var elemento = forma[nombreControl];
, я не получил ожидаемого результата, ошибка по-прежнемутам: та же строка, то же сообщение.
У вас есть предложения?Заранее спасибо.