getAttribute не работает в Фоксе!!! Чё юзать?
..............
for(i=0; i< obj.length; i++)
{
if(obj.elements.getAttribute('disabled')==true || obj.elements.type=='hidden') continue;
if(obj.elements.value=='') {edit=false; break;} //если edit=false ниже будет алерт
}
.............
В общем если элемент скрытое поле или отключеное то мы идём к следующему, но!!! в эксплорере всё нормально а вот в Фоксе скрипт не идёт к следующему если элемент отключен, а вот если скрытое поле то идёт к следующему!
Чё делать? выводить такую байду нельзя if(i==0||i==5||i==9||i==10) continue; так как поля отключаются и включаются в зависимости от переданных переменных(php)!
приведи более полный пример (html форму и js функцию), посмотрим.
Всё заработало, надо было юзать if(obj.elements.disabled) continue;
Код:
<input type="button" onclick="java script:alert(this.getAttribute('disabled'));" value="00">
В Opera, FifeFox вернет null, а IE false. Вот и выходит, что у тебя логика работы скрипта меняется, т.к. ты в условии ожидаешь данные одного типа, а получаешь другого.
К слову сказать это бага IE потому как в спецификации вполне ясно сказано:
Цитата:
Return Value
DOMString
The Attr value as a string, or the empty string if that attribute does not have a specified or default value.
DOMString
The Attr value as a string, or the empty string if that attribute does not have a specified or default value.
Но видимо инженеры Microsoft английского языка не разумят... В прочим за ними это не в первой.