在Button的点击事件前进行页面JS判断
我们在进行button点击事件前,会有一些页面判断,例如判断文本框不能为空,是否为手机号码等操作。但是,点击一次按钮它会刷新一次按钮,在给按钮写JS时,并不会执行JS函数,本文就输入框不能为空为例介绍一种。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>验证填入数据测试</title>
<script src="../Js/jquery-1.8.0.min.js"></script>
<script>
function validform()//返回结果,以便于浏览器判断
{
//alert(1);
if (!validtext("#TextBox1", "名字"))
{ return false };
if (!validtext("#TextBox2", "账号")) { return false };
if (!validtext("#TextBox3", "密码")) { return false };
return true;
}
function validtext(tid,tmsg)//验证输入框内容是否为空
{
//alert(2);
var txtPhone = $("#txtphone").val();
var ss = $(tid).val();
//alert(ss + "111");
//var derk = document.getElementById(tid);
//alert(derk.val() + "111");
if (ss == "" || ss == undefined)
{
alert("请填写" + tmsg);
return false;
}
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server" action="validText.aspx" onsubmit="return validform();" method="post" >//form提交判断操作(重点所在)
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"/>
</form>
</body>
</html>
这样,程序会先执行页面的判断操作,而后才会进行C#后台程序的点击事件操作。
像这样的验证,可能有一下验证的JS验证框架,但是万事都会有一个万一,比如当浏览器不兼容你的JS验证时,这些土办法有可能帮助到你。本人才学疏浅,若用不正确的地方加以指正,有更高明的方法,欢迎讨论。