Как получить итератор amx все значения текстового поля на кнопке «Отправить»

Я хочу получить все текстовое поле, поле выбора, значения переключателя при нажатии кнопки отправки. Все входные элементы перебираются с помощью amx:iterator. Я поделился кодом amx ниже.

Поля ввода являются динамическими в зависимости от ответа сервера.

<?xml version="1.0" encoding="UTF-8" ?>
<amx:view xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:amx="http://xmlns.oracle.com/adf/mf/amx"
   xmlns:dvtm="http://xmlns.oracle.com/adf/mf/amx/dvt">
   <amx:panelPage id="pp1">
      <amx:facet name="header">
         <amx:outputText value="DynamicPage" id="ot1"/>
      </amx:facet>
      <amx:commandButton text="commandButton1" id="cb1">
         <amx:actionListener id="al1" binding="#{ImageBean.getFormData}"/>
      </amx:commandButton>
      <amx:outputText value="Question Starts" ></amx:outputText>
      <amx:outputText value="Second Question Starts" ></amx:outputText>
      <amx:iterator var="row" value="#{bindings.questionCollection3.collectionModel}" id="i1">
         <!--<amx:outputText value="#{row.questionList.bindings.qid.inputValue}" id="d85" />-->
         <amx:outputText value="#{row.questionList.bindings.qid.inputValue}" />
         <amx:outputText value="#{row.questionList.bindings.qtext.inputValue}" rendered="#{row.questionList.bindings.answertype.inputValue == '3' || row.questionList.bindings.answertype.inputValue == '2' || row.questionList.bindings.answertype.inputValue == '1' || row.questionList.bindings.answertype.inputValue == '0'}" id="ot4" />
         <amx:inputText inputType="text" disabled="#{row.questionList.bindings.qid.inputValue == '0'}" rendered="#{row.questionList.bindings.answertype.inputValue == '0'}"
            value="#{textIterator.txtValue}" valueChangeListener="#{QListBean.getQuestionID}" />
         <amx:inputText inputType="text" rendered="#{row.questionList.bindings.answertype.inputValue == '1'}" rows="4" autoCapitalize="auto" />
         <amx:selectOneRadio value="#{bindings.optionlist1.inputValue}" rendered="#{row.questionList.bindings.answertype.inputValue == '3'}" id="sor1">
            <amx:selectItems value="#{bindings.optionlist1.items}" id="si2"/>
         </amx:selectOneRadio>
         <amx:selectOneChoice value="#{bindings.optionlist1.inputValue}" rendered="#{row.questionList.bindings.answertype.inputValue == '2'}" id="soc1">
            <amx:selectItems value="#{bindings.optionlist1.items}" id="si1"/>
         </amx:selectOneChoice>
      </amx:iterator>
      <amx:commandButton actionListener="#{bindings.getPicture.execute}" text="getPicture"
         disabled="#{!bindings.getPicture.enabled}" id="cb2" action="#{ImageBean.getImages}"/>
      <amx:panelFormLayout id="pfl1">
         <amx:inputText value="#{bindings.quality.inputValue}" label="#{bindings.quality.hints.label}" id="it6"/>
         <amx:inputText value="#{bindings.destinationType.inputValue}" label="#{bindings.destinationType.hints.label}"
            id="it5"/>
         <amx:inputText value="#{bindings.sourceType.inputValue}" label="#{bindings.sourceType.hints.label}" id="it1"/>
         <amx:inputText value="#{bindings.allowEdit.inputValue}" label="#{bindings.allowEdit.hints.label}" id="it3"/>
         <amx:inputText value="#{bindings.encodingType.inputValue}" label="#{bindings.encodingType.hints.label}" id="it2"/>
         <amx:inputText value="#{bindings.targetWidth.inputValue}" label="#{bindings.targetWidth.hints.label}" id="it7"/>
         <amx:inputText value="#{bindings.targetHeight.inputValue}" label="#{bindings.targetHeight.hints.label}" id="it4"/>
      </amx:panelFormLayout>
      <amx:commandButton actionListener="#{bindings.getPicture.execute}" text="getPicture Second"
         disabled="#{!bindings.getPicture.enabled}" id="cb3"/>
   </amx:panelPage>
</amx:view>

Заранее спасибо.


person Prabakar Samy    schedule 25.08.2016    source источник


Ответы (1)


Согласно приведенному выше коду,

Вы можете использовать свойство <amx:setPropertyListener> в <amx:commandButton>, назначая любые значения, которые вы хотите получить для переменной в вашем соответствующем классе компонента.

eg: <amx:setPropertyListener from="#{row.questionList.bindings.qid.inputValue}" to="#{pageFlowScope.questionId}" type="action">

Если вы просматриваете значения из своей базы данных, лучше запрашивать значения из базы данных в вашем actionListener для повышения производительности.

person Arj 1411    schedule 26.08.2016
comment
Вы проверили это? - person Arj 1411; 29.08.2016
comment
при этом row.questionList.bindings.qid.inputValue не найден в области действия кнопки, какая-либо помощь? - person Mark Samy; 05.04.2018