powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как вызвать js в методе zen странички
8 сообщений из 8, страница 1 из 1
Как вызвать js в методе zen странички
    #37876296
Nikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как сюда закинуть javascript?
Код: html
1.
2.
3.
4.
5.
6.
ClassMethod %OnSubmit(pSubmit As %ZEN.Submit) As %Status
{
javascript
location.href="http:ааа.html";

}
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37876541
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikator ,

1) Processing a Form Submit
2) &js<...>: Embedded HTML and JavaScript
3) для перехода на другую страницу используйте свойство %NextPage
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37878590
Nikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,

пока что не дошло зачем вы мне показали вариант 1 и 3
понял одно джаваскрипт и классметоды с друг-другом не ладят
The “&js< ... >” should ONLY be used when working in Synchronous mode and interacting with ClassMethods where there is no DOM synchronization happening.
In an instance method, if you are modifying elements in the DOM, this code is returned by the hyperevent, bundled in to a function and executed in the browser immediately on return; then the DOM then happens, overwriting any and all changes made by the function. If you are calling Asynchronously, this is also a risk that these functions may not execute in the order you expect them to.
вариант 3 вообще не работает)))

есть еще идеи?
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37878611
Nikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nikator,

ой вариант 2)))
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37878757
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikatorпока что не дошло зачем вы мне показали вариант 1 и 3

ой вариант 2)))&js<> служит для встраивания js-кода в ZenMethod.
По завершении серверного метода этот код прозрачно отправляется клиенту для выполнения.
Но в рамках метода %OnSubmit неприменим, поскольку, согласно первой ссылке - Generate new HTML page
Nikatorпонял одно джаваскрипт и классметоды с друг-другом не ладятЛадят, пример ниже. Приведённое предупреждение к сути Вашей проблемы не относится.
Nikatorвариант 3 вообще не работает)))Приведите Ваш код.
Рабочий кодClass sqlru.test Extends %ZEN.Component.page
{

/// Этот XML блок описывает содержимое этой страницы.
XData Contents [ XMLNamespace = " http://www.intersystems.com/zen"  ]
{
<page xmlns=" http://www.intersystems.com/zen"  title="">
  <button caption="Test" onclick="zenPage.Test(zenGetProp('prop','value'));"/>
  <form>
    <text id="prop" name="prop" value="asd"/>
    <submit caption="submit"/>
  </form>
</page>
}

ClassMethod %OnSubmit(pSubmit As %ZEN.Submit) As %Status
{
  set ^tmp=pSubmit.%GetValue("prop")
  set pSubmit.%NextPage=" http://test1.html"
  
  quit $$$OK
}

ClassMethod Test(p) As %Status [ ZenMethod ]
{
  &js<zenAlert('p=',#(..QuoteJS(p))#)>;
  q $$$OK
}

}PS: Методическое пособие по ZEN и Prototype 6
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37879673
Nikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,
спасибо, вариант с %NextPage отлично подошел

а как переопределить метод %OnAfterCreatePage?
Код: html
1.
2.
3.
4.
5.
Method %OnAfterCreatePage() As %Status
{
     переход на страничку
     Quit $$$OK
}
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37879952
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikatorа как переопределить метод %OnAfterCreatePage? Redirect (или ServerSideRedirect)

Например:

Class sqlru.test Extends %ZEN.Component.page
{

XData Contents [ XMLNamespace = " http://www.intersystems.com/zen"  ]
{
<page xmlns=" http://www.intersystems.com/zen"  title="">
</page>
}

Method %OnAfterCreatePage() As %Status
{
  #dim %response As %CSP.Response
  set %response.Redirect=" http://test.ru"
  Quit $$$OK
}

}
...
Рейтинг: 0 / 0
Как вызвать js в методе zen странички
    #37880437
Nikator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit,
Большое спасибо вам
долго мучился, спасибо

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Method %OnAfterCreatePage() As %Status
{
	
	set obj=##class(DATA.OfisOfReception).Check(%session.Get("l1"),%session.Get("l2"),%session.Get("l3"))
	if (obj=0)
	{
	#dim %response As %CSP.Response
  	set %response.Redirect="http://test.CSP"
	}
	else
	{
	 Quit $$$OK
	}
	 Quit $$$OK	
}
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как вызвать js в методе zen странички
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]