这是我的源代码:
<xh:head>
<xh:title>Newsletter</xh:title>
<xf:model id="fr-form-model" xxf:expose-xpath-types="true">
<!-- Main instance -->
<xf:instance id="fr-form-instance">
<form>
<News_choice>
<Sub_select>zamawiam</Sub_select>
</News_choice>
<Zamowienie>
<Zamowienie_wybor/>
<Select_all/>
<Deselect_all/>
</Zamowienie>
<Rezygnacja>
<Rezygnacja_wybor/>
<SelectAll_1/>
<Deselect_all_1/>
</Rezygnacja>
<Mail>
<Email/>
</Mail>
</form>
</xf:instance>
<!-- Bindings -->
<xf:bind id="fr-form-binds" ref="instance('fr-form-instance')">
<xf:bind id="News_choice-bind" name="News_choice" ref="News_choice">
<xf:bind id="Sub_select-bind" ref="Sub_select" name="Sub_select"/>
</xf:bind>
<xf:bind id="Zamowienie-bind" ref="Zamowienie" name="Zamowienie"
relevant="$Sub_select = 'zamawiam'">
<xf:bind id="Zamowienie_wybor-bind" ref="Zamowienie_wybor" name="Zamowienie_wybor"/>
<xf:bind id="Select_all-bind" ref="Select_all" name="Select_all"/>
<xf:bind id="Deselect_all-bind" ref="Deselect_all" name="Deselect_all"/>
</xf:bind>
<xf:bind id="Mail-bind" ref="Mail" name="Mail">
<xf:bind id="Email-bind" ref="Email" name="Email"
constraint="matches(.,'^[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}') or string-length(.) = 0"/>
</xf:bind>
<xf:bind id="Rezygnacja-bind" ref="Rezygnacja" name="Rezygnacja"
relevant="$Sub_select = 'rezygnuje'">
<xf:bind id="Rezygnacja_wybor-bind" ref="Rezygnacja_wybor" name="Rezygnacja_wybor"/>
<xf:bind id="SelectAll_1-bind" ref="SelectAll_1" name="SelectAll_1"/>
<xf:bind id="Deselect_all_1-bind" ref="Deselect_all_1" name="Deselect_all_1"/>
</xf:bind>
</xf:bind>
<!-- Metadata -->
<xf:instance xxf:readonly="true" id="fr-form-metadata">
<metadata>
<application-name>Subskrypcja</application-name>
<form-name>Newsletter</form-name>
<title xml:lang="pl">Newsletter</title>
<description xml:lang="pl"/>
</metadata>
</xf:instance>
<!-- Attachments -->
<xf:instance id="fr-form-attachments">
<attachments>
<css mediatype="text/css" filename="" size=""/>
<pdf mediatype="application/pdf" filename="" size=""/>
</attachments>
</xf:instance>
<!-- All form resources -->
<!-- Don't make readonly by default in case a service modifies the resources -->
<xf:instance id="fr-form-resources" xxf:readonly="false">
<resources>
<resource xml:lang="pl">
<Email>
<label><b><center>Prosimy o podanie adresu e-mail, pod który ma zostać wysłany link aktywacyjny.</center></b></label>
<hint/>
</Email>
<Rezygnacja_wybor>
<item id='1'>
<label>Dostawy</label>
<value>dostawy</value>
<hint/>
</item>
<item id='2'>
<label>Konsultacje</label>
<value>konsultacje</value>
<hint/>
</item>
<item id='3'>
<label>Ogłoszenia urzędowe</label>
<value>ogloszenia</value>
<hint/>
</item>
<item id='4'>
<label>Usługi</label>
<value>uslugi</value>
<hint/>
</item>
<item id='5'>
<label>Informacje o wynikach naboru</label>
<value>info</value>
<hint/>
</item>
<item id='6'>
<label>Nabór - Urząd Miasta</label>
<value>nabor</value>
<hint/>
</item>
<item id='7'>
<label>Roboty budowlane</label>
<value>roboty</value>
<hint/>
</item>
<label><center><b>Prosimy o wybranie, jakich działów niniejszego portalu ma dotyczyć rezygnacja z powiadomień.</center></b></label>
<hint/>
</Rezygnacja_wybor>
<SelectAll_1>
<label>Zaznacz wszystkie</label>
<hint/>
</SelectAll_1>
<Deselect_all_1>
<label>Odznacz wszystkie</label>
<hint/>
</Deselect_all_1>
<Zamowienie_wybor>
<label><center><b>Prosimy o wybranie, jakich działów niniejszego portalu mają dotyczyć powiadomienia:</b></center><b></b></label>
<hint/>
<item id='1'>
<label>Dostawy</label>
<value>dostawy</value>
<hint/>
</item>
<item id='2'>
<label>Konsultacje</label>
<value>konsultacje</value>
<hint/>
</item>
<item id='3'>
<label>Ogłoszenia urzędowe</label>
<value>ogloszenia</value>
<hint/>
</item>
<item id='4'>
<label>Usługi</label>
<value>uslugi</value>
<hint/>
</item>
<item id='5'>
<label>Informacje o wynikach naboru</label>
<value>info</value>
<hint/>
</item>
<item id='6'>
<label>Nabór - Urząd Miasta</label>
<value>nabor</value>
<hint/>
</item>
<item id='7'>
<label>Roboty budowlane</label>
<value>roboty</value>
<hint/>
</item>
</Zamowienie_wybor>
<Select_all>
<label>Zaznacz wszystkie</label>
<hint/>
</Select_all>
<Deselect_all>
<label>Odznacz wszystkie</label>
<hint/>
</Deselect_all>
<Sub_select>
<label><b><center>Aby stać się subskrybentem powiadomień należy zaznaczyć "zamawiam subskrycję". W celu rezygnacji prosimy o wybranie opcji "rezygnuję z subskrypcji".</b></center></label>
<hint/>
<item>
<label>Zamawiam subskrypcję</label>
<value>zamawiam</value>
<hint/>
</item>
<item>
<label>Rezygnuję z subskrypcji</label>
<value>rezygnuje</value>
<hint/>
</item>
</Sub_select>
<News_choice>
<label>Subskrypcja</label>
</News_choice>
<Zamowienie>
<label>Zamówienie subskrypcji</label>
<help/>
</Zamowienie>
<Rezygnacja>
<label>Rezygnacja z subskrypcji</label>
<help/>
</Rezygnacja>
<Mail>
<label>Email</label>
<help/>
</Mail>
</resource>
</resources>
</xf:instance>
<!-- Utility instances for services -->
<xf:instance id="fr-service-request-instance" xxf:exclude-result-prefixes="#all">
<request/>
</xf:instance>
<xf:instance id="fr-service-response-instance" xxf:exclude-result-prefixes="#all">
<response/>
</xf:instance>
</xf:model>
</xh:head>
<xh:body>
<fr:view>
<fr:body xmlns:xbl="http://www.w3.org/ns/xbl"
xmlns:oxf="http://www.orbeon.com/oxf/processors"
xmlns:p="http://www.orbeon.com/oxf/pipeline">
<fr:section id="News_choice-control" bind="News_choice-bind">
<xf:label ref="$form-resources/News_choice/label"/>
<fr:grid>
<xh:tr>
<xh:td>
<xf:select1 id="Sub_select-control" appearance="full" bind="Sub_select-bind">
<xf:label ref="$form-resources/Sub_select/label" mediatype="text/html"/>
<xf:hint ref="$form-resources/Sub_select/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
<xf:itemset ref="$form-resources/Sub_select/item">
<xf:label ref="label"/>
<xf:value ref="value"/>
<xf:hint ref="hint"/>
</xf:itemset>
</xf:select1>
</xh:td>
<xh:td/>
</xh:tr>
</fr:grid>
</fr:section>
<fr:section id="Zamowienie-control" bind="Zamowienie-bind">
<xf:label ref="$form-resources/Zamowienie/label"/>
<fr:grid>
<xh:tr>
<xh:td>
<xf:select id="Zamowienie_wybor-control" appearance="full" bind="Zamowienie_wybor-bind">
<xf:label ref="$form-resources/Zamowienie_wybor/label" mediatype="text/html"/>
<xf:hint ref="$form-resources/Zamowienie_wybor/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
<xf:itemset ref="$form-resources/Zamowienie_wybor/item">
<xf:label ref="label"/>
<xf:value ref="value"/>
<xf:value ref="hint"/>
</xf:itemset>
</xf:select>
</xh:td>
<xh:td/>
</xh:tr>
</fr:grid>
<fr:grid>
<xh:tr>
<xh:td>
<xf:trigger id="Select_all-control" bind="Select_all-bind">
<xf:label ref="$form-resources/Select_all/label"/>
<xf:hint ref="$form-resources/Select_all/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:trigger>
</xh:td>
<xh:td>
<xf:trigger id="Deselect_all-control" bind="Deselect_all-bind">
<xf:label ref="$form-resources/Deselect_all/label"/>
<xf:hint ref="$form-resources/Deselect_all/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:trigger>
</xh:td>
<xh:td/>
<xh:td/>
<xh:td/>
<xh:td/>
</xh:tr>
</fr:grid>
</fr:section>
<fr:section id="Rezygnacja-control" bind="Rezygnacja-bind">
<xf:label ref="$form-resources/Rezygnacja/label"/>
<fr:grid>
<xh:tr>
<xh:td>
<xf:select id="Rezygnacja_wybor-control" appearance="full" bind="Rezygnacja_wybor-bind">
<xf:label ref="$form-resources/Rezygnacja_wybor/label" mediatype="text/html"/>
<xf:hint ref="$form-resources/Rezygnacja_wybor/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
<xf:itemset ref="$form-resources/Rezygnacja_wybor/item">
<xf:label ref="label"/>
<xf:value ref="value"/>
<xf:value ref="hint"/>
</xf:itemset>
</xf:select>
</xh:td>
<xh:td/>
</xh:tr>
</fr:grid>
<fr:grid>
<xh:tr>
<xh:td>
<xf:trigger id="SelectAll_1-control" bind="SelectAll_1-bind">
<xf:label ref="$form-resources/SelectAll_1/label"/>
<xf:hint ref="$form-resources/SelectAll_1/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:trigger>
</xh:td>
<xh:td>
<xf:trigger id="Deselect_all_1-control" bind="Deselect_all_1-bind">
<xf:label ref="$form-resources/Deselect_all_1/label"/>
<xf:hint ref="$form-resources/Deselect_all_1/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:trigger>
</xh:td>
<xh:td/>
<xh:td/>
<xh:td/>
<xh:td/>
</xh:tr>
</fr:grid>
</fr:section>
<fr:section id="Mail-control" bind="Mail-bind">
<xf:label ref="$form-resources/Mail/label"/>
<fr:grid>
<xh:tr>
<xh:td>
<xf:input id="Email-control" bind="Email-bind">
<xf:label ref="$form-resources/Email/label" mediatype="text/html"/>
<xf:hint ref="$form-resources/Email/hint"/>
<xf:alert ref="$fr-resources/detail/labels/alert"/>
</xf:input>
</xh:td>
<xh:td/>
</xh:tr>
</fr:grid>
</fr:section>
</fr:body>
我已经设置了一个名为“Select_all”的触发器,用于检查“Zamowienie_wybor”中的所有复选框,但我不知道如何以正确的方式执行此操作。 名为“Deselect_all”的第二个触发器应删除“Zamowienie_wybor”字段的所有复选框。 我尝试使用setvalue动作,但它不起作用。 我会很感激所有的建议。
答案 0 :(得分:0)
您可以使用xxf:itemset()
函数执行此操作,该函数返回与复选框相关的所有信息。使用该功能,您可以获得&#34;值&#34;对于每个复选框,连接值,并将其设置为控件的值,因此选中所有复选框。当然,完全相同的代码适用于任何选择控件,允许选择多个值。
你可以看到this full example,其中有&#34;有趣的部分&#34;强调: