怎样使Javascript验证先于C#方法执行
我在Asp.net中遇到一个问题
问题描述如下:
我当前有两个控件,一个是TextBox,一个是Button,现在我写一段Javascript代码来验证TextBox不能为空,如果为空,弹出提示框,并返回false,反之不弹提示框,并返回true.
这段Javascript由Button来调用,但同时,Button在服务器端也有OnClick事件。
我要想实现的功能是:如果TextBox为空,则弹出提示框,但不执行Button的服务器OnClick事件对应的方法,如果TextBox不为空,则不弹出任何提示框,并执行Button的服务器端OnClick方法。
简明的说,就是怎样使Javascript先于服务器端方法执行!
请高手指点一下!
------解决方案-------------------- OnClientClick="return ValidateTextBox();"
or
this.Button1.Attributes.Add("onclick", "return ValidateTextBox();");
------解决方案-------------------- <asp:Button ID="btn_Delete" runat="server" Text="删除" OnClientClick="return judge();" OnClick="btn_Delete_Click"></asp:Button>
JS这样写就可以
function judge()
{
var sText = document.getElementById("TextBox1");
if(sText.value == "")
{
alert("aa!");
return false;
}
else
{
return confirm("您是否确认?");
}
}
------解决方案--------------------在Page_Load()中加上:
Button1.Attributes.Add("OnClick","javascript:return checkPage();");
就可以了
checkPage()就是JavaScript验证