2

我正在使用下面的代码来验证 asp.net 页面,而单击按钮。我想检查文本框是否为空。如果它为空意味着它不会进入服务器端点击事件。如果它有一些值意味着进程转到点击事件后面的代码。

现在我遇到了小问题。如果文本框 value == "" 表示它返回错误消息并转到服务器端单击事件。当条件为假时,我如何防止服务器端回发。

 <asp:Button ID="btn_add" runat="server" Text="Submit" OnClick="add_new" OnClientClick="valid_name();"/>

 function valid_name() {
        var name = document.getElementById('<%= txt_name.ClientID%>').value;
        if (name == "") {
            alert('Error Alert : You must enter a valid name !.');
            return false;
        }
        else {
            return true;
        }
    }
4

1 回答 1

4

只需更改此代码

OnClientClick="return valid_name();"

在您的调用中添加return将影响单击是否通过或停止,并且因为您实际上从函数返回 true/false 取决于输入,但如果没有return直接调用按钮,则返回不会影响按钮。

于 2013-02-26T09:47:54.247 回答