如何在提交按钮上获取 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】:按照上面给出的代码,
您可以使用<amx:commandButton>
中的属性<amx:setPropertyListener>
将您想要获取的任何值分配给相应bean 类中的变量。
例如:<amx:setPropertyListener from="#row.questionList.bindings.qid.inputValue" to="#pageFlowScope.questionId" type="action">
如果您正在查看数据库中的值,最好在 actionListener
中查询数据库中的值以获得更好的性能。
【讨论】:
你检查了吗? 在按钮范围内找不到 row.questionList.bindings.qid.inputValue 时有什么帮助吗?以上是关于如何在提交按钮上获取 amx 迭代器所有文本框值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net 代码中获取引导文本框值并在存储过程中作为参数发送?