2011-10-12 66 views
1

我有一個頁面,並在該頁面我有幾個用戶控件,所以他們之一驗證文本框,看看它是否空它工作正常......但後來我有其他控制...和其中一個提交按鈕,所以我想要做的是當按鈕被點擊時,如果文本框是空的(並且它驗證正確)跳轉到該頁面的該部分,以便用戶可以看到錯誤。驗證和專注於驗證

現在它只是顯示了消息,但它是在頁面一路下來,誤差是存在的,用戶點擊和點擊,但不知道問題出在頂部...

如何關注該控件中的文本框......點擊另一個控件中的提交按鈕,但它們仍處於同一頁面中?

我希望你瞭解這個問題,如果沒有請問,我會很樂意協助更多的信息。

回答

2

這裏是將焦點設置,把這個功能在ASP.NET按鈕控件的OnClientClick方式:

function ValidatorFocus() 
{ 
    //force .net validation 
    Page_ClientValidate(); 
    var i; 
    for (i = 0; i < Page_Validators.length; i++) 
    { 
     if (!Page_Validators[i].isvalid) 
     { 
      document.getElementById(Page_Validators[i].controltovalidate).focus(); 
      break; 
     } 
    } 
} 

Manually calling ASP.NET Validation with JavaScript

+0

它會像OnClientClick =「ValidatorFocus();」 ?是嗎? – user710502

1

您使用的是內置的ASP.NET驗證器?如果是這樣,你應該看看SetFocusOnError

<asp:textbox id="txt" runat="server"> 
<asp:RequiredFieldValidator ID="vld" ControlToValidate="txt" SetFocusOnError="true" />