|
Передать управление из JavaScript в 1С (с передачей параметра) в поле HTML |
☑ |
0
artist
09.09.13
✎
14:16
|
Дано: Управляемая форма, на ней поле HTML-документа.
Имеем простенький скрипт на jQuery (в макете):
<script>
$(function() {
$("#draggable" ).draggable({
stop: function( event, ui ) {
alert("Блок был перетащен");
}
});
});
</script>
<div id="draggable" class="ui-widget-content">
<p>Блок перетаскивания</p>
</div>
Собственно вопрос, как вместо яваскриптовского алерта передать управление в 1С, желательно с передачей каких-нибудь параметров.
Попробовал написать
document.fireEvent("onClick");
и отловить это событие в ПолеХТМЛПриНажатии(...).
Впринципе, пока мы только перетаскиваем - всё работает, но непонятно как передать какой-нибудь параметр.
При этом если тот же скрипт запустить в фаерфоксе он ругается, что fireEvent не является функцией...
|
|
1
Asmody
09.09.13
✎
14:26
|
вот тебе основа для размышлений:
Процедура ПриОткрытии()
html="<button onclick=""document.cookie='';"">ТЫЦ</button>";
ЭлементыФормы.ПолеHTMLДокумента1.УстановитьТекст(html);
КонецПроцедуры
Процедура ПолеHTMLДокумента1onpropertychange(Элемент, pEvtObj)
Сообщить("> "+pEvtObj.propertyName);
КонецПроцедуры
|
|
2
ИС-2
09.09.13
✎
14:28
|
посмотри на инфостаре обработки для работы с яндекс-картами
|
|
3
artist
09.09.13
✎
14:28
|
А как вызывается ПолеHTMLДокумента1onpropertychange?
|
|
4
ИС-2
09.09.13
✎
14:28
|
идет работа с JS
|
|
5
artist
09.09.13
✎
14:28
|
(2)Нету у меня возможности качать с инфостарта :(
|
|
6
artist
09.09.13
✎
14:31
|
(1)Это наверно событие поля HTML для обычных форм?
в управляемых формах такого не наблюдаю, есть только:
ПриИзменении
ДокументСформирован
ПриНажатии
При этом, ни одно событие на срабатывает при перетаскивании блока.
|
|
7
artist
09.09.13
✎
14:44
|
Попробовал так:
stop: function( event, ui ) {
document.cookie = "";
document.cookie = "userName=Vasya";
}
Событие ПолеХТМЛПриИзменении() НЕ вызывается :(
|
|
8
artist
09.09.13
✎
15:00
|
Как-нибудь кроме dockument.fireEvent("onClick") можно 1Ску заставить отловить событие из JS в управляемых формах?
|
|
9
artist
09.09.13
✎
15:06
|
Странно... resizable() само вызывает 1Совское событие ПриНажатии(), а вот draggable() нет...
То-ли привет мелкомягким, то-ли разработчикам jquery
|
|
10
sikuda
09.09.13
✎
15:08
|
(8) К сожалению пока не нашел.
Если <div id='paper'> - контейнер
var paper = document.getElementById("paper");
paper.IDtypeEvent = new Object();
paper.IDtypeEvent.type = 'up';
paper.click();
|
|
11
sikuda
09.09.13
✎
15:09
|
Со стoроны 1С ДанныеСобытия.Element.IDtypeEvent.type = 'up';
|
|
12
artist
09.09.13
✎
15:40
|
(10)Ага, похоже то что нужно:
$("#draggable" ).draggable({
stop: function( event, ui ) {
this.myParams = new Object();
this.myParams.param1 = 1;
this.click();
}
});
И потом в 1С в ПриНажатии вытаскиваем это через ДанныеСобытия.Element.myParams.param1
Ну а дальше дело техники :)))
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший