|
JavaScript. Проблема при работе с Windows XP !!!
|
|||
---|---|---|---|
#18+
Задача: Существует некий виртуальный ListBox, который подменяет собой TextBox, при принятии им фокуса. При отсутствии изменений, данные TextBoxа сохраняются, даже при отсутствии их в списке. При потере фокуса - TextBox возвращается на место с новым (старым) значением. Скрипт написан и отлажен под Windows 98-2000. Никаких проблем не возникает. При работе под Windows XP , не понятным образом отрабатывает событие blur . Под Windows XP Скрипт работает нормально только при клике на поле правой кнопкой мыши с последующим обязательным выбором нового значения из списка !!!!???? Может бытя я чего-то не понимаю? Тестовый пример:<br> <input type=text name=test> Focus TEST<br> <SCRIPT> var w=document.all; var zz=w("test"); var old=""; var oldvalue=""; var oldwidth=""; var list1="<select id='lst1' onchange='this.ch=true;' onblur='hlist1(this.name.substring(1,this.name.length));' style='HEIGHT:17px;WIDTH:100px;font-size:9px;display:none'><option value=''></option><option value='Январь'>Январь</option><option value='Февраль'>Февраль</option><option value='Март'>Март</option><option value='Апрель'>Апрель</option><option value='Май'>Май</option><option value='Июнь'>Июнь</option><option value='Июль'>Июль</option><option value='Август'>Август</option><option value='Сентябрь'>Сентябрь</option><option value='Октябрь'>Октябрь</option><option value='Ноябрь'>Ноябрь</option><option value='Декабрь'>Декабрь</option></select>"; function vlist1(b,rw){ zz.value="focus"; nam="p"+b; oldvalue=w(nam).value; oldwidth=w(nam).style.width; old=w("s"+b).innerHTML; w("s"+b).innerHTML=list1; w("lst1").id=nam; ob=w(nam); ob.name=nam; ob.rw=rw; ob.style.width=oldwidth; ob.ch=false; ob.value=oldvalue; ob.style.display="block"; ob.focus(); } function hlist1(b){ zz.value+=" blur"; nam="p"+b; if(w(nam).ch)oldvalue=w(nam).value; w("s"+b).innerHTML=old; w(nam).value=oldvalue; w(nam).style.width=oldwidth; } </SCRIPT> <table> <tr><td><SPAN id=s[68]><INPUT onfocus='vlist1("[68]",0);' value="Значение 1" name=p[68] style="FONT-SIZE:9px;WIDTH:100px;HEIGHT:18px" ></SPAN></td></tr> <tr><td><SPAN id=s[69]><INPUT onfocus='vlist1("[69]",0);' value="Значение 2" name=p[69] style="FONT-SIZE:9px;WIDTH:100px;HEIGHT:18px" ></SPAN></td></tr> </table> Помогите победить Билла Гейтса и его замечательную программу!!! Другие (кроме Internet Explorer) броузеры на данный момент не интересуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2003, 16:47 |
|
|
start [/forum/topic.php?fid=59&fpage=857&tid=2154467]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
29ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 165ms |
0 / 0 |