簡體   English   中英

OnClientClick無法正常工作

[英]OnClientClick not working

我在使用OnClientClick時遇到問題。

我像這樣在我的網絡表單中添加了一個按鈕。

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        style="top: 307px; left: 187px; position: absolute; height: 26px; width: 90px" 
        Text="Submit" OnClientClick="return validate()" />

我在<title>之后立即在<head>編寫了一個javascript。

<script language="javascript" type="text/javascript">
    function validate() {
        if (document.getElementById("<%=TextBox1%>").value == "") {
        alert("textbox1 should not be empty");
        }
        else if(document.getElementById("<%=TextBox2 %>").value==""){
        alert("textbox2 should not be empty");
        }
                        }
</script>

TextBox1TextBox2是兩個文本框的ID。

但是,當我單擊“提交”按鈕時,OnClick會觸發,但OnClientClick不會觸發。

有什么問題 ?

請幫忙。

從文本框中獲取ID時,您必須在JavaScript中使用<%=TextBox1.ClientID%>

當發生錯誤時,您還應該從validate-function return false

將您的JavaScript替換為:

function validate() {
    if(document.getElementById('<%=TextBox1.ClientID%>').value == '') {
        alert('Textbox1 should not be empty');
        return false;
    }
    if(document.getElementById('<%=TextBox2.ClientID%>').value == '') {
        alert('Textbox2 should not be empty');
        return false;
    }
}

嘗試這種方式:-

document.getElementById("<%=TextBox1.ClientID%>").value

document.getElementById("<%=TextBox2.ClientID%>").value

我看到的第一件事是,您正在使用不帶.ClientID "<%=TextBox1%>" ,這是客戶端可識別texbox的內容。 自然地,沒有ID,您的javascript找不到對象(並且可能還會引發異常)

(document.getElementById("<%=TextBox1%>").value == "")

將呈現為

(document.getElementById("System.Web.UI.WebControls.TextBox").value == "")

因此請嘗試在JavaScript函數中使用document.getElementById("<%=TextBox1.ClientID%>").value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM