我有一个包含5个文本框和一个按钮的表单,当单击该按钮时,它会将数据发送到SQL数据库。如果任何文本框为空,我希望禁用该按钮,如何在C#中执行此操作? (我在Visual Studio 2010 ASP.NET Web应用程序中)
答案 0 :(得分:0)
您需要编写JavaScript / jQuery代码。
答案 1 :(得分:0)
如果您不想使用客户端脚本,可以使用validations
作为控件
<asp:TextBox id="TextBox1" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator1"
runat="server" ErrorMessage="Required!" ControlToValidate="TextBox1" >
</asp:RequiredFieldValidator>
验证将在回发时触发。
如果您有多个控件,但又不想对它们进行全部验证,则可以使用Validation Group
。请查看此链接以使用Validation Groups
答案 2 :(得分:0)
是的,Sam说的是对的!! 您需要先检查所有文本框是否为空。
将完成If(txtbox1.text == "" || txtbox2.text == "" || txtbox3.text == "" || txtbox4.text == "" || txtbox5.text == "")
如果任何文本框为空,则禁用该按钮。
button1.enable = false;
如果所有内容都已填写,请将其设为已启用。
button1.enable = true;
答案 3 :(得分:0)
在页面加载上使用javascript setInterval如果您在页面上使用此单个表单并检查每个文本框值的长度...如果有人为null则禁用提交按钮..
使用jquery来禁用和启用它们。检查我为样本创建的以下代码片段。
如果您在某个容器控件中使用这些控件,请使用它来访问服务器控件ID。小组,contentplaceholder等:$("#<%=button1.ClientID>%>")
$("#text1").val().length
将检查文本框中的文本长度..然后使用jquery启用和禁用它们。
<head runat="server">
<title></title>
<script src="http://code.jquery.com/jquery-1.7.min.js" type="text/javascript"></script>
<%-- <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js" type="text/javascript"></script>--%>
<%--<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7-vsdoc.js" type="text/javascript"></script>--%>
<script type="text/javascript">
$(document).ready(function () {
$("#submit").attr('disabled', 'disabled');
$("#text1").keypress(function () {
check();
});
var intv = self.setInterval("check()", 1000);
});
function check() {
if ($("#text1").val().length > 0) {
$("#submit").removeAttr('disabled');
}
else {
$("#submit").attr('disabled', 'disabled');
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="text1" runat="server"></asp:TextBox>
<asp:Button ID="submit" runat="server" Text="Button" />
</div>
</form>
</body>
</html>