如何在提交按钮上获取 amx 迭代器所有文本框值

Posted

技术标签:

【中文标题】如何在提交按钮上获取 amx 迭代器所有文本框值【英文标题】:How to get amx iterator all text box values on Submit Button 【发布时间】:2016-08-25 06:36:43 【问题描述】:

我想在单击提交按钮时获取所有文本框、选择框、单选按钮值。所有输入元素都使用 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>

提前致谢。

【问题讨论】:

【参考方案1】:

按照上面给出的代码,

您可以使用&lt;amx:commandButton&gt; 中的属性&lt;amx:setPropertyListener&gt; 将您想要获取的任何值分配给相应bean 类中的变量。

例如:&lt;amx:setPropertyListener from="#row.questionList.bindings.qid.inputValue" to="#pageFlowScope.questionId" type="action"&gt;

如果您正在查看数据库中的值,最好在 actionListener 中查询数据库中的值以获得更好的性能。

【讨论】:

你检查了吗? 在按钮范围内找不到 row.questionList.bindings.qid.inputValue 时有什么帮助吗?

以上是关于如何在提交按钮上获取 amx 迭代器所有文本框值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用javascript验证动态生成的输入框值

如何在 asp.net 代码中获取引导文本框值并在存储过程中作为参数发送?

Windows Store App XAML - 如何获取导航页面的文本框值

ExtJS:如何同时提交:组合框值和文本

如何获取 HTML 文本框值?

在按钮单击文本框值是空的使用 asp.net mvc 显示警报?