【发布时间】:2010-02-17 11:40:36
【问题描述】:
我正在使用 struts(表单)+ 验证 我只想问是否可以在没有javascript的验证后将焦点设置在表单上的某些字段上?我想我在编程 jakarta struts 的书中写了一些东西,但我不记得了。
谢谢
【问题讨论】:
标签: java javascript html struts
我正在使用 struts(表单)+ 验证 我只想问是否可以在没有javascript的验证后将焦点设置在表单上的某些字段上?我想我在编程 jakarta struts 的书中写了一些东西,但我不记得了。
谢谢
【问题讨论】:
标签: java javascript html struts
您不能使用纯 HTML 将焦点设置在某个字段上。 Bozho 建议的tabindex 想法很好,但只有在您第一次真正按下 tab 时它才会起作用。然而,它的缺点是它改变了输入元素的跳格顺序。不是真正的用户友好。
您确实需要为此使用 JavaScript。只需执行以下操作:
window.onload = function() {
document.formname.${inputname}.focus();
// or:
document.getElementById(${inputid}).focus();
};
...${inputname} 在<input name="foo"> 中动态解析为输入字段的名称,${inputid} 在<input id="foo"> 中解析为输入字段的 ID。
就是这样。
【讨论】:
您可以设置要在页面重新加载时首先获得焦点的输入的tabindex="1"属性。
【讨论】:
您不能在不使用 JavaScript 的情况下将焦点设置在字段上。其他人尝试过但都失败了(CSS 是他们首先考虑的地方,但这也不能解决问题)。
不确定你在 Jakarta Struts 一书中读到了什么,但也许你指的是 Struts <html:form> 标签的 focus 属性?这将焦点放在所需的表单字段上,而无需添加 JavaScript。但是 Struts 会添加 JavaScript,所以这意味着你这边没有 JavaScript,而且根本就没有 JavaScript。
【讨论】: