2011-12-28 18 views
1

我想要做的是给第一个字段的焦点,但由于名称是动态生成的,我需要一种方法来将焦点属性设置为第一个字段。有没有像form.field [0]或类似的东西的占位符?有没有办法在Struts表单中获取第一个字段?

+0

这更多的一个JavaScript/HTML的问题。然而,你可以尝试'form.elements [0]'(你必须首先获取'form',例如通过某个id)。 – Thomas 2011-12-28 15:54:25

回答

0

我会设置字段styleid并在页面加载后引用它。

JSP:

<html:text styleId="tofocus" property="prop" name="<%=dynamic %>" /> 

的JavaScript

function setFocus() 
{ 
    document.getElementById('tofocus').focus(); 
} 

window.onload = setFocus; 
+0

我应该更清楚。表单的整个主体是动态创建的。我无法访问标签。 – Stopher87 2011-12-28 17:15:10

+0

好的,如果没有办法可以引用字段和表单,你可以像这样访问文档中的第一个输入字段:'document.getElementsByTagName('input')[0] .focus()' – vadchen 2011-12-28 17:41:28

+0

对不起。通过身体我的意思是我仍然可以使用窗体标签的内脏。我最终做的是这样的: \t function findAndFocusFirstField(){ \t \t i = 0; \t \t而{ \t \t \t i ++在(的document.getElementById( “Form1的”)元素[I] .TYPE == “隐藏”。); \t \t} \t \t document.getElementById(“Form1”)。elements [i] .focus(); \t} – Stopher87 2011-12-28 21:54:29

相关问题