在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驗證時,這些土辦法有可能幫助到你。本人才學疏淺,若用不正確的地方加以指正,有更高明的方法,歡迎討論。