我有两个文本框。我需要验证两个文本框是否都已填充,只能填充一个文本框。
<asp:TextBox ID="testTxtName" runat="server" />
<asp:TextBox ID="testTxtGroup" runat="server" />
我需要在提交按钮点击时进行此验证。 因此,用户必须填写两个文本框,或者两者都应该留空。仅填充一个文本框是错误的。我怎么能用javascript做到这一点?
答案 0 :(得分:1)
假设您已经处理了服务器端验证,这是您可以在客户端处理它的一种方法。
<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;
}
关于此的几点说明:
onSubmit
事件的函数返回false将阻止表单提交。答案 1 :(得分:0)
<script type="text/javascript">
function validate() {
var txt1 = document.getElementById('<%=TextBox1.ClientID%>').value;
var txt2 = document.getElementById('<%=TextBox2.ClientID%>').value;
if (!txt1 && !txt2) {
true
}
else if( (txt1 && !txt2)|| (!txt1 && !txt){
alert("Please fill both textbox");
false
}
true
}
</script>
<title></title>
<div>
<asp:Button ID="Button1" runat="server" OnClientClick="validate();" Text="Button" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</div>
</form>