2010-02-17 33 views
1

我正在使用struts(表單)+驗證 我只是想問,如果我可以在沒有JavaScript驗證後在表單上的某些字段集中注意力?我想我在圖書編程雅加達struts紅色的東西,但我不記得了。struts專注於字段後驗證沒有js

感謝

回答

2

您無法使用純HTML將焦點設置在某個字段上。 Bozho建議的tabindex想法很好,但只有在第一次按標籤時纔有效。但它的缺點是它改變了輸入元素的標籤順序。不是真的用戶友好。

你真的需要爲此抓取JavaScript。只是這樣做:

window.onload = function() { 
    document.formname.${inputname}.focus(); 
    // or: 
    document.getElementById(${inputid}).focus(); 
}; 

...其中${inputname}動態解析輸入字段的名稱,如<input name="foo">${inputid}解析爲輸入字段的ID爲<input id="foo">。 就是這樣。

+0

他說「wihtout js」,這就是爲什麼我給出了我能想到的唯一選擇(有其缺點)。順便說一句,焦點設置,即使沒有按下標籤。 – Bozho 2010-02-17 20:08:00

+0

@Bozho:對不起,在一個基本的測試用例中,在我加入的5個主要網頁瀏覽器中的任何頁面加載後,該字段並未立即集中。 – BalusC 2010-02-17 20:11:25

+0

啊,好的。我正在查看一個設置了tabindex的網站,但是它似乎也有一個'隱藏'的js。 – Bozho 2010-02-17 20:26:43

0

您可以設置要具有首先獲得焦點的輸入,頁面重新加載時的tabindex="1"屬性。

0

您不能在不使用JavaScript的情況下將焦點設置在字段上。其他人已經嘗試過並失敗了(CSS是他們看的第一個地方,但也沒有削減)。

不確定您在本書中讀到的是什麼Jakarta Struts,但是您可能指的是Struts <html:form>標記的focus屬性?這不需要添加JavaScript即可將焦點放在所需的表單字段上。但是Struts將會添加JavaScript,所以這意味着從你那邊沒有JavaScript,而不是沒有JavaScript。