Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JSF中静态引用动态id_Javascript_Jsf - Fatal编程技术网

Javascript 在JSF中静态引用动态id

Javascript 在JSF中静态引用动态id,javascript,jsf,Javascript,Jsf,我有一个输入文本框,我想用发生在另一个对象上的onclick事件的值来更新它。在本例中,我知道test.id0不正确,它需要是paymentAmountOne的动态生成id。我尝试过使用绑定,但是没有用 <div id="minDueLinkDiv" class="normalLink" onclick="dijit.byId('test.id0').attr('value', '#{userInfo.minAmt}');"> <h:outputText id="minDue

我有一个输入文本框,我想用发生在另一个对象上的onclick事件的值来更新它。在本例中,我知道test.id0不正确,它需要是paymentAmountOne的动态生成id。我尝试过使用绑定,但是没有用

<div id="minDueLinkDiv" class="normalLink" onclick="dijit.byId('test.id0').attr('value', '#{userInfo.minAmt}');">

<h:outputText id="minDueLink" styleClass="outputText" value="#{msg.minDue}"/></div>

<h:inputText required="true" tabindex="1" styleClass="inputText" id="paymentAmountOne" value="#{userInfo.paymentAmountOne}" style="width:115px" maxlength="15" >

  <j4j:idProxy id="paymentAmountOne_"/>

</h:inputText>

感谢您的帮助

我已经添加了.paymentAmountOne

这是仍然不起作用的渲染内容

<div id="minDueLinkDiv" class="normalLink" onclick="dojo.query('.paymentAmountOne').attr('value', '429.56');">

<span id="paymentAmountOne_" title="j_id_jsp_1879829640_2:paymentAmountOne"></span>

<div id="widget_j_id_jsp_1879829640_2:paymentAmountOne" class="dijit dijitReset dijitInlineTable dijitLeft inputText paymentAmountOne dijitTextBox" wairole="presentation" dojoattachevent="onmouseenter:_onMouse,onmouseleave:_onMouse,onmousedown:_onMouse" role="presentation" style="width: 115px;" widgetid="j_id_jsp_1879829640_2:paymentAmountOne" value="429.56">


我错过什么了吗?我也用dijit试过了。

你可以按类找到你的输入。就你而言:

<div id="minDueLinkDiv" class="normalLink" onclick="dojo.query('.paymentAmountOne').attr('value', '#{userInfo.minAmt}');">

<h:outputText id="minDueLink" styleClass="outputText" value="#{msg.minDue}"/></div>

<h:inputText required="true" tabindex="1" styleClass="inputText paymentAmountOne" id="paymentAmountOne" value="#{userInfo.paymentAmountOne}" style="width:115px" maxlength="15" >

  <j4j:idProxy id="paymentAmountOne_"/>

</h:inputText>


我不确定是否要在dojo中按班级查找,您可能需要进行调整。

谢谢您,Embisz先生。我是JSF新手,没有意识到我可以通过设置表单id来消除表单中的动态id

     <h:form id="paymentForm">, 
然后按照您的建议使用paymentForm:paymentAmountOne进行引用


谢谢。

这似乎不起作用。这是呈现的内容。你的inputText呈现为div,这很奇怪。它应该生成支持值属性的输入标记。也许j4j在干扰,你能在没有它的情况下尝试吗?