[英]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>
TextBox1
和TextBox2
是兩個文本框的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.