Вход | Регистрация

1С:Предприятие ::

Метки: 

v7: Как запустить функцию onchange()

Я
   DES
 
17.07.18 - 17:34
запускаю через 
objIE = СоздатьОбъект("InternetExplorer.Application");
страницу, там есть поле, при изменении которого нужно запустить джавускрипт

<select name="ctl00$ContentPlaceHolder1$DropDownList2" tabindex="1" class="form-control" id="ContentPlaceHolder1_DropDownList2" style="color:Blue;font-size:Medium;" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$DropDownList2\',\'\')', 0)">

програмно меняю
tabindex="12"
а как запустить onchange= ?
 
  Рекламное место пустует
   Вафель
 
1 - 17.07.18 - 18:09
ну запусти вот это
__doPostBack(\'ctl00$ContentPlaceHolder1$DropDownList2\',\'\')
   DES
 
2 - 17.07.18 - 20:40
К какому объекту ?

objIE.__doPostBack(\'ctl00$ContentPlaceHolder1$DropDownList2\',\'\')  ?
   DES
 
3 - 18.07.18 - 18:47
для памяти, нужно было так:
ElementByID = "List2"; 
IE0.document.getElementByID(ElementByID).value = 2;
IE0.document.getElementByID(ElementByID).document.parentWindow.eval(IE0.document.getElementByID(ElementByID).getAttributeNode("onchange").value);

кнопку нажать так:
ElementByID = "BtnSearch";
IE0.document.getElementByID(ElementByID).click();
   DES
 
4 - 18.07.18 - 21:06
чудеса
под 8.3 работает
под 7.7
дает ошибку eval()
   Сияющий в темноте
 
5 - 18.07.18 - 23:01
В 7.7 проблема с передачей параметров в функции оле,она создает дополнительные переменные иикопирует в них значения,что иногда приводит к искажениям.
опять же,1с и ослик,работают в разных потоках,поэтому,если мы от осла хотим ответа,нужно ждать,чтобы он был не занят,Busy,по мойму,функция
и осел из под семерки работает так,что семерка может прочитать и записатт переменные в коде сценария в момент его исполнения,что восьмерка и другие программы не могут и не имеют права делать.
   DES
 
6 - 19.07.18 - 14:28
затуп в том что eval() не находится под 7-кой даже с минутной паузой
   DES
 
7 - 19.07.18 - 14:37
оказалось что eval() нужно заменить на ExecScript()


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует