Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > setAttribute в IE


Автор: azam 28.4.2008, 10:55
Хочу выделить не указанный в форме пункт. 
Ниже следующий код работает в Firefox и не работает в IE.
т.е. setAttribute не устанавливает атрибут style.
Код

<script language="JavaScript">
    function proverka () {
        var city_sel = document.getElementById("city_sel");
        var city_add = document.getElementById("city_add");

        var fio = document.getElementById("fio");
        var usluga = document.getElementById("usluga");
        var telefon = document.getElementById("telefon");
//если не заполнены такие-то такие-то поля то...
        if(!city_add.value && city_sel.value =="-1" && fio.value && usluga.value != '-1' && telefon.value)   
        {
            alert('Вы не указали город');

            var cit = document.getElementById('cit');
            cit.setAttribute('style', 'padding-right:10px; color:red; font-weight:bold;');

            return false;
        }
    }
</script>


Код


<table>
    <tr>
        <td>
{SYSTEM_MESSAGE}<form action="{FORM_ACTION}" method="POST" enctype="multipart/form-data"  onSubmit="return proverka();">
        </td>
    </tr>
    <tr>
        <td valign="top" align="right" id="cit" style="">
{GOROD_10_TITLE} *
        </td>
        <td>
 {GOROD_10}
        </td>
    </tr>
    <tr>
        <td>
        </td>
        <td align="left">
        <br />
<input type="hidden" value="submit" name="bf_action">
<input type="submit" value="Отправить"></form>
        </td>
    </tr>
</table>







Автор: SelenIT 28.4.2008, 11:04
Обходной путь: cit.style.cssText = 'padding-right:10px; color:red; font-weight:bold;'

Добавлено через 51 секунду
А еще удобнее менять className.

Автор: azam 28.4.2008, 11:14
SelenIT спасибо, а про className как-то даже забыл.

Автор: SelenIT 28.4.2008, 11:21
Вдогонку:
Цитата(azam @  28.4.2008,  10:55 Найти цитируемый пост)
cit = document.getElementById('cit')

IE страсть как не любит переменных, совпадающих с id-ами элементов - он создает для них глоб. переменные автоматом и они то и дело конфликтуют. Лучше обзывать переменные как-нибудь нейтрально ;).

Автор: azam 28.4.2008, 12:24
Ценная информация, спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)