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

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

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

ой вариант 2)))
...
Рейтинг: 0 / 0
13.07.2012, 17:55
    #37878757
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать js в методе zen странички
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
15.07.2012, 07:40
    #37879673
Nikator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать js в методе zen странички
servit,
спасибо, вариант с %NextPage отлично подошел

а как переопределить метод %OnAfterCreatePage?
Код: html
1.
2.
3.
4.
5.
Method %OnAfterCreatePage() As %Status
{
     переход на страничку
     Quit $$$OK
}
...
Рейтинг: 0 / 0
15.07.2012, 20:56
    #37879952
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать js в методе zen странички
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
16.07.2012, 12:08
    #37880437
Nikator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вызвать js в методе zen странички
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
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как вызвать js в методе zen странички / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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