EugeneKurilov
Новичок
(JavaScript) Вызов Focus() для раздизебленного элемента
значить есть примерно следеющее.
неокторый Div в котором есть элемент управления <input type='text'> Изначально это div весь полностью задизеблен — все включаемые в него эулменты явно имеют свойство disabled = true. При событии Onclick по этому div я перебираю весб этот слой и все элементы которые в нём участвую раздизебливаю и среди элементов имеющих тип text и атрибут first_focus пыта.cm установить фокус но проблема в том что даже не зависисмо от того что срабатывает условие disabled = false возникает экцепшен который говорит что я пытаюсь установи ть фокус на не раздизебленный элемент управления либо на элмент который не имеет данного метода.
вот примерный код
var div = document.getElementById(tempID);
if (div != null && typeof div == "object") {
div.disabled = false;
var inputs = div.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs.getAttribute("major") == "major") {
inputs.checked = true;
}
inputs.disabled = false;
if (inputs.type == "text" && !inputs.disabled) {
//inputs.focus(); // здесь в это условии входить но почему думает что этот элемент всё ещё задизеблен
}
}
В чём может быть проблема — как правильно сказать мне броузеру что я хочу сделать ?
-~{}~ 02.02.06 14:24:
пока что нашёл вот такое тупое решение
inputs.disabled = false;
if (inputs.type == "text" && !inputs.disabled) {
document.divobject = inputs;
setTimeout("document.divobject.focus()",10);
}
значить есть примерно следеющее.
неокторый Div в котором есть элемент управления <input type='text'> Изначально это div весь полностью задизеблен — все включаемые в него эулменты явно имеют свойство disabled = true. При событии Onclick по этому div я перебираю весб этот слой и все элементы которые в нём участвую раздизебливаю и среди элементов имеющих тип text и атрибут first_focus пыта.cm установить фокус но проблема в том что даже не зависисмо от того что срабатывает условие disabled = false возникает экцепшен который говорит что я пытаюсь установи ть фокус на не раздизебленный элемент управления либо на элмент который не имеет данного метода.
вот примерный код
var div = document.getElementById(tempID);
if (div != null && typeof div == "object") {
div.disabled = false;
var inputs = div.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if (inputs.getAttribute("major") == "major") {
inputs.checked = true;
}
inputs.disabled = false;
if (inputs.type == "text" && !inputs.disabled) {
//inputs.focus(); // здесь в это условии входить но почему думает что этот элемент всё ещё задизеблен
}
}
В чём может быть проблема — как правильно сказать мне броузеру что я хочу сделать ?
-~{}~ 02.02.06 14:24:
пока что нашёл вот такое тупое решение
inputs.disabled = false;
if (inputs.type == "text" && !inputs.disabled) {
document.divobject = inputs;
setTimeout("document.divobject.focus()",10);
}