我有两个文本框。我需要验证两个文本框是否都被填充,只有一个文本框不能被填充。

<asp:TextBox ID="testTxtName" runat="server" />
<asp:TextBox ID="testTxtGroup" runat="server" />


我需要在单击提交按钮时进行此验证。
因此,用户必须填写两个文本框,或者两个都应留空。仅填充一个文本框是错误的。如何使用javascript执行此操作?

最佳答案

假设您已经处理了服务器端验证,这是可以在客户端上进行处理的一种方法。

<form onSubmit="validateForm">

function validateForm() {
    var textField1Value = document.getElementById('testTxtName').value;
    var textField2Value = document.getElementById('testTxtGroup').value;

    if ((textField1Value && !textField2Value) || (!textField1Value && textField2Value)) {
        return false;
    }

    return true;
}


一些注意事项:


之所以有效,是因为在JS中,空字符串是falsey值
从附加到onSubmit事件的函数返回false将阻止表单提交。
显然,您将需要显示某种错误消息,而不仅仅是默默地失败。


祝你好运!

10-07 18:01