2012-11-08 181 views
1

我有一个代码示例最好的解释的问题:值输入字段

我有以下VIEW.jsp

<c:forEach var="widget" items="${widgets}"> 
     <div class="drag"> 
      <p>Id: ${widget.id}</p> 
      <input class="editWidget" type="image" src="/tis/img/icons/edit.png" alt="Edit widget"> 
      <input class="idWidget" type="hidden" value="${widget.id}"> 
     </div> 
</c:forEach> 

<div id="editDialog" title="Edit widget"> 
    <fieldset> 
     <input class="editWidgetId" type="hidden" value="??" id="editWidgetId"> 
    </fieldset> 
</div> 

editWidgetId应该有它的“价值”属性在foreach循环内填充idWidget的值。对于循环中的每个元素,此值应该不同(元素由编辑按钮选择)。

的问题:

  1. 我怎样才能得到一个输入字段的值到另一个输入字段?
  2. 如何在存在foreach循环时执行此操作?

在此先感谢

回答

1

给你想要的动态行为,这项工作要在客户端通过JavaScript作为在服务器端,你有许多部件一个执行 editDialog并缺少客户端用户事件来作出决定。

你想要做的是指定功能的处理程序(或下面的示例所示声明),以每editWidget改变editWidgetId输入框与适当的值值:

<input onclick="document.getElementById('editWidgetId').value = '${widget.id}'" class="editWidget" type="image" src="/tis/img/icons/edit.png" alt="Edit widget" > 

没有测试这个,但我希望你有想法

+0

谢谢你的回答。我明白了,但我希望你能帮助我做一些调整。我希望在Java代码中拥有document.getElement ........部分,因为具有多个字段会使onclick值非常复杂。在Java代码中,'$ {widget.id}'变成了一个字符串,而不是一个值。 Java版本的外观如何? –

+0

@JohnHendrik,我以为你想要的部件ID。上面的代码出现在您的JSP页面中。您的JSTL符号将通过JSP预处理器(Java)进行处理,并且对于每个输出节它将呈现onclick事件。您是否尝试过运行并查看页面的来源? – cbayram

+0

你假设没错。我实施了你所建议的解决方案,它的工作非常完美代码仍然很干净,所以我很高兴。非常感谢你:) –