ポストバックでこれを行いたいと思うでしょう。
最も簡単な方法は、ボタンを変更してpostback
属性を含めることです。
#button { id=calcButton, text="Click", postback=do_click}.
次に、ポストバックをevent/1
関数で処理する必要があります。
event(do_click) ->
imafunction("first val","second val").
しかし、何らかの動的データとともに値を渡したい場合は、次の 2 つの方法のいずれかを実行できます。
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).
Nitrogen Postbacks と Submitting data の詳細については、次の URL を参照してください。