我在JSP(或Struts2)中使用for
循环创建了多个文本框/文本字段。文本框/文本字段是在运行时根据条件创建的,因此我无法确定文本框的确切数量。我有使用每个文本框的onFocus
执行的代码,并为每个文本框执行相同的功能,例如,当文本框中的onfocus
时,将打开日历。执行的功能基于文本框的“名称”执行。但是每当我在文本框上运行这个JSP和onfocus时,它只对第一个文本框而不是所有文本框执行。请帮助我,或者给我一些建议,在这种情况下我需要做些什么。谢谢
答案 0 :(得分:1)
你可以在文本框中尝试数组变量
<s:iterator...>
<S:textfield name="elementname[]" id="elementname[]" onfocus="javascript:funcName(this)"/>
</s:iterator>
脚本中的
var variablename = document.getElementsByName('elementname[]');
for(var i=0;i<transferBusinessId.length;i++)
{
alert(variablename [i]);
}
答案 1 :(得分:0)
在焦点上调用javascript函数时,将其作为将给出所选元素的参数之一传递。你可以做这样的事情
<s:textfield name="yourElemetnName" onfocus="javascript:funcName(this)">
在javascript函数中
function funcName(element){
alert("selected the correct element -- " + element.id);
//the real work goes here
}
希望这会有所帮助:)