我有两个文本框。我需要验证两个文本框是否都被填充,只有一个文本框不能被填充。
<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将阻止表单提交。显然,您将需要显示某种错误消息,而不仅仅是默默地失败。
祝你好运!