Вы захотите сделать это с помощью обратной передачи.
Самый простой способ — изменить кнопку, включив в нее атрибут postback
:
#button { id=calcButton, text="Click", postback=do_click}.
Затем вам нужно обработать обратную передачу с помощью функции event/1
:
event(do_click) ->
imafunction("first val","second val").
Но если вы хотите передать значения вместе с какими-то динамическими данными, вы можете сделать это одним из двух способов.
1) Вы можете передать его как часть обратной передачи, а значение обратной передачи будет соответствовать шаблону.
#button { id=calcButton, text="Click", postback={do_something,1,2} }
И затем совпадение с образцом при обратной передаче
%% Notice how this is matching the tuple in the postback
event({do_something,Param1,Param2}) ->
imafunction(Param1,Param2).
или 2) Вы можете передавать значения в качестве входных данных (скажем, текстовое поле или раскрывающийся список)
Во-первых, добавьте поля параметров для отправки и убедитесь, что ваша кнопка выполняет обратную передачу.
body() ->
[
#label{text="Param 1"},
#textbox{id=param1},
#br{},
#label{text="Param 2"},
#textbox{id=param2},
#br{},
#button{ id=calcButton, text="Click", postback=do_other_thing}
].
Затем в вашей функции event/1
мы получим значения и вызовем вашу функцию.
event(do_other_thing) ->
Param1 = wf:q(param1),
Param2 = wf:q(param2),
imafunction(Param1,Param2).
Вы можете узнать больше о постбэках азота и отправке данных на
person
chops
schedule
25.11.2012