我想创建一个动态问题网站,有一些滚动,检查和任何框。 用户发送表单后,我想使用信息,动态创建答案。我尝试了很多,但无法让它正常工作。 所以我希望,你可以帮忙。
get_event( 'Event_1', 1 ).
get_event( 'Event_2', 5).
get_component( 'Type_1', 'Component_1' ).
get_component( 'Type_2', 'Component_2' ).
get_incident( 'Incident_1' ).
get_incident( 'Incident_2' ).
index( Request ) :-
reply_html_page(
[
title('Questions')
],
[
form( [ id( search ), action(answer), method(post)],
[
h1('All Questions'),
div( [ h4('Question_1')
|\selection ]),
div( [ h4('Question_2')
|\component ]),
div( [ h4('Question_3')
|\event ]),
input( [ type( submit ), value( 'Submit' )])
])
]).
event -->
{ event( Ls ) },
html( [ div( Ls )]).
event( Ls ) :-
findall( span( [ input( [ value = Priority, name = Event, type = 'checkbox' ] ), Event ] ), get_event( Event, Priority ), Ls ).
component -->
{ component( Ls ) },
html( [ div( Ls )]).
component( Ls ) :-
findall( div( [ input( [ name = Component, value = [Type, ',', Component ], type = 'checkbox' ]), Component ]), get_component( Type, Component ), Ls ).
selection -->
{ selection( Ls ) },
html( [ div( select( Ls ))]).
selection( Ls ) :-
findall( option( [ name = Incident, value = Incident ], Incident ), get_incident( Incident ), Ls ).
现在我想将此信息用作帖子参数。 我找到了2个解决方案,http_parameters / 3和成员(方法(帖子),请求)......,但无法使其工作。 如何在网站上打印所有这些参数?
答案 0 :(得分:0)
参见例如http://www.swi-prolog.org/howto/http/HTMLParams.html以获取处理参数的示例。谓词http_parameters / 3处理GET请求和POST请求,前提是发布的内容被编码为www-form-encoded(这是浏览器为表单设置的方法=" POST") 。您不需要member(method(post), Request)
,除非您真的希望处理程序仅适用于POST请求。默认情况下,它适用于两者。