2013-01-08 76 views
2

工作我試圖顯示警告,如果輸入的是無效的,但OnClientClick這個不工作,這是我的代碼:的OnClientClick不是在JavaScript

function validation1() { 

    if (document.getElementById('firstname').value == "" || document.getElementById('firstname').value == "First Name..."){ 
    alert("Please Enter First Name"); 
    } 
    if(document.getElementById('lastname').value == "" || document.getElementById('lastname').value == "Last Name..."){ 
    alert("Please Enter Last Name"); 
    } 
} 


<asp:Button runat="server" ID="SearchButton" Text="Instant Search" OnClick="SearchButton_Click" OnClientClick="validation1" /> 

我的代碼是在母版頁,所以這會是一個問題?

已經嘗試了許多不同的方式使用的OnClientClick調用的函數,但沒有成功:

+2

嘗試'的OnClientClick = 「validation1()」' – TechDo

+0

已嘗試,試圖分號... – Wasi

回答

3

你錯過了你的括號(括號內)從在函數調用中,您可能還希望驗證函數的結果確定服務器端點擊是否應該觸發:

function validation1() { 

if (document.getElementById('firstname').value == "" ||document.getElementById('firstname').value == "First Name..."){ 
    alert("Please Enter First Name"); 
    return false; 
} 

if(document.getElementById('lastname').value == "" || document.getElementById('lastname').value == "Last Name..."){ 
    alert("Please Enter Last Name"); 
    return false; 
} 

return true; 
} 

<asp:Button runat="server" ID="SearchButton" Text="Instant Search" OnClick="SearchButton_Click" OnClientClick="return validation1();" /> 

這裏的主要區別是,客戶端點擊函數返回一個值,如果驗證通過陳述或不作爲以及實際的方法調用正確聲明,容易的事情錯過:)。

+0

不工作的兄弟.. – Wasi

+0

@Wasi - 好的,你知道爲什麼它不起作用嗎?使用像Firebug/Chrome這樣的JavaScript調試器會發現任何腳本錯誤?如果你把一個laert放在驗證函數的頂部,它會被調用嗎?如果是這樣,那麼代碼可能在嘗試獲取元素時失敗,因爲該ID不正確。 –

0

試試這個

function validation1() { 

    if (document.getElementById('firstname').value == "" || document.getElementById('firstname').value == "First Name..."){ 
    alert("Please Enter First Name"); 
    return false; 
    } 
    if(document.getElementById('lastname').value == "" || document.getElementById('lastname').value == "Last Name..."){ 
    alert("Please Enter Last Name"); 
    return false; 
    } 
} 

下面是ASPX代碼

<asp:Button runat="server" ID="SearchButton" Text="Instant Search" OnClick="SearchButton_Click" OnClientClick="return validation1();" /> 
+0

你必須「返回bla();」停止/推遲迴發。 –