Erlang 在氮框架中检索#下拉选择
我正在使用erlang氮气web框架开发一个应用程序 我肯定错过了一些非常简单的东西,但我不知道如何检索dropbox元素所做的选择。它似乎没有通过回发消息传递。它是否需要使用wf:wire/3功能 我还没有看到任何文档或示例来说明这一点。我能找到的唯一示例只是显示回发值,它没有提供有关选择哪个选项的任何信息。您需要:Erlang 在氮框架中检索#下拉选择,erlang,postback,nitrogen,Erlang,Postback,Nitrogen,我正在使用erlang氮气web框架开发一个应用程序 我肯定错过了一些非常简单的东西,但我不知道如何检索dropbox元素所做的选择。它似乎没有通过回发消息传递。它是否需要使用wf:wire/3功能 我还没有看到任何文档或示例来说明这一点。我能找到的唯一示例只是显示回发值,它没有提供有关选择哪个选项的任何信息。您需要: 将html_名称添加到dropbox 添加代码以提交表单 然后在被调用的页面(在提交操作中定义)中,您可以使用wf:m(dropbox\u name)访问该值 在中有一个完整
- 将html_名称添加到dropbox
- 添加代码以提交表单
- 然后在被调用的页面(在提交操作中定义)中,您可以使用wf:m(dropbox\u name)访问该值
在中有一个完整的示例,它取决于您如何使用下拉列表。如果您以一种restful的“传统形式”非ajaxy的方式使用它,那么Pascal提到的restful元素就是最好的选择 但是,如果您使用的是氮气的回发功能,那么您只需要通过更标准的氮气id来定义它们
body() ->
[
#dropdown{id=fruit, options=[
#option{text="Apple"},
#option{text="Banana"},
#option{text="Orange"}
]},
#button{text="Submit",postback=do_fruit}
].
event(do_fruit) ->
SelectedFruit = wf:q(fruit),
wf:wire(#alert{text="Selected Fruit was " ++ SelectedFruit}).
注意,下拉列表的id是
水果
。#按钮
使用值do_fruit
启动回发,该值与事件(do_fruit)
函数中的值相匹配,并且wf:q(fruit)
使用idfruit
检索提交的值,谢谢。这正是我所需要的。谢谢。这就是我希望它能起作用的方式。我不知道这里应该使用wf:q/1函数。在我的例子中,我现在正在使用#下拉列表中的postback选项。非常好。很高兴听到。RESTful元素很好,但对于大多数氮的使用,回发结合wf:q/1
及其变体(wf:qs
,wf:mq
,wf:mqs
,和wf:q_pl
)是一条可行之路。