客户端单击不起作用

本文关键字:不起作用 单击 客户端 | 更新日期: 2023-09-27 18:35:46

我在使用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()" />

我正在<head> <title>后立即在里面编写一个 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%>

并且,当发生错误时,您还应该从验证函数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