Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Установление свойства value тегу input button (https://javascript.ru/forum/css-html-internet-explorer/28933-ustanovlenie-svojjstva-value-tegu-input-button.html)

Guliashik 07.06.2012 16:37

Установление свойства value тегу input button
 
(function()
{
    var temp=eval('tatarcha.alphabet.'+document.getElementById('combo_1').value);
    var buttons=[];
    buttons[0]=[];
    buttons[1]=[];
    for(var i=0;i<temp.length;i++)
    {
        buttons[0][i]=document.createElement('input');
        buttons[0][i].type= 'button';
        buttons[0][i].name= 'key_but_1';
        buttons[0][i].value= temp[i];
        buttons[0][i].style.visibility='hidden';
        if(i%10==0)
        {

            document.body.appendChild(document.createElement('br'));       
            
        }
        document.body.appendChild(buttons[0][i]);
        tatarcha.addEvent(buttons[0][i],'click',function(event){
            tatarcha.insertLetter(event);
        });
    }
    temp=eval('tatarcha.alphabet.'+document.getElementById('combo_2').value);
    for(i=0;i<temp.length;i++)
    {
        buttons[1][i]=document.createElement('input');
        buttons[1][i].type= 'button';
        buttons[1][i].name= 'key_but_2';
        buttons[1][i].value=temp[i];
        buttons[1][i].style.visibility='hidden';
        if(i%10==0)
        {
            document.body.appendChild(document.createElement('br'));       
        }
        document.body.appendChild(buttons[1][i]);
        tatarcha.addEvent(buttons[1][i],'click',function(event){
            tatarcha.insertLetter(event);
        });
    }
    tatarcha.alphabet.keyboard=buttons;
})();

Не работает только в IE. при этом остальные свойства (name, type) отлично выводятся в alert, а valye= undefined. В чём может быть проблема?

Deff 07.06.2012 16:50

Guliashik,
Да и еще - в скрытом visibility='hidden'; в ИЕ не меняет поле - скрывайте position:relative; z-index:-10;

Guliashik 07.06.2012 17:08

Цитата:

Сообщение от Deff (Сообщение 179827)
Guliashik,
Да и еще - в скрытом visibility='hidden'; в ИЕ не меняет поле - скрывайте position:relative; z-index:-10;

Странно, у меня скрывает.

Deff 07.06.2012 17:10

Guliashik,
Скрывать то скрывает, но поле в скрытом visibility='hidden'; или display:none; ИЕ не меняет

Guliashik 07.06.2012 17:14

window.alert(buttons[1][i].style.visibility); вывел hidden. Я скорее всего вас неверно понимаю. То есть проблема вся в visibility? Странно

Deff 07.06.2012 17:18

Guliashik,
Проблема в Ие - оно не позволяет полноценно работать скриптами с input - полями скрытыми атрибутами visibility: hidden или display:none

Guliashik 07.06.2012 17:26

Убрал всё что связано с visibility. К сожалению, не помогло. Да кстати, я делал alert (buttons.value) до установления visibilty=hidden. И всё равно было undefined, может проблема всё таки не в этом?

Deff 07.06.2012 17:33

Guliashik,
Может и помимо этого - изучаю код

Guliashik 07.06.2012 17:37

Пытался найти в гугле. Был похожий случай, но там была проблема вроде в области видимости переменной. Т. е. были две переменных с одинаковым именем, и одна другую перекрывала. Но вроде бы вышеприведённый код, не подходит под это описание.

Deff 07.06.2012 17:43

Guliashik,
А когда меняте скриптом value после вклейки на страницу - подобная ошибка есть ?


Часовой пояс GMT +3, время: 09:39.