2013-08-26 79 views
1

我有一個文本框和一個按鈕,在按鈕的clientClick上我調用了javascript函數,並且還有服務器端編碼。在ASP.NET中通過JavaScript警告後停止回發代碼

問題是,即使我在JavaScript中返回False,頁面也會回傳。

這裏是我的javascript函數:

function checkALphaNumericFormat(str) { 

      //get previous value before editing 
      var txtUserId = document.getElementById('<%=txtUserId.ClientID%>');    
      var userId = txtUserId.value; 
      var patternAlphaNumeric = /^[A-z0-9]+$/gi; 
      var match = userId.match(patternAlphaNumeric); 

      //Check Null values 
      if (txtUserId.value != null && txtUserId.value != "") { 

       //Check for AlphaNumeric values for User Id 
       if (match == null) { 
        alert("Please provide valid AlphaNumeric User Id"); 
        return false ; 
       } 

       return false ; 
      } 
      else { 
        alert("User Id field should not be null"); 
        return false ;    
      }    
      return false ; 
     } 

,我的窗體上調用這個函數爲:

<asp:Button runat="server" ID="btnCreate" CssClass="loginButton" style="margin:0px 0px 1px 30px;" OnClientClick ="return checkALphaNumericFormat(this.value);" Text="CREATE" /> 
+0

PLZ提供的按鈕設計,其中烏爾調用客戶端點擊 – naval

+0

打電話給你的方法是這樣'的OnClientClick =「返回checkALphaNumericFormat(...' – Damith

+0

謝謝你們的信息,我打電話它作爲 感謝您的回覆。問題現在已解決。 – user2126933

回答

6

嘗試調用下面的JavaScript函數:

OnClientClick="if(!validateform()){return false;} 

validateform()應該是你的java腳本函數。您的Java腳本函數應在功能全成執行到底有return = true;,像下面的功能:

function validateform() 
{ 
    var txtSearch = document.getElementById('<%=txtKeywordSearch.ClientID%>') 
    if(txtSearch.value == '') 
    { 
    alert('No Search Creatria Selected!'); 
    return false; 
    } 
return true; 
} 

請嘗試,讓我知道它是否適合你。

感謝, 哈里什

+1

Hi Harish, 是的這段代碼也可以工作:)謝謝雖然我們可以使用return checkAlphaNumericFormat(this.value),因爲這也可以。 我找到了瓶子,它卡在其他的JavaScript功能。 感謝您的幫助 – user2126933

+0

歡迎use​​r2126933,並感謝讓我知道另一種方式來調用該函數。 –