Fineui 解决OnClientClick中无论是返回true或false,都依然执行后台代码的问题
有时写js代码验证数据,需要在OnClientClick中执行,如果符合条件执行后台代码,不符合则不触发后台代码。
刚开始的时候无论返回true或false都会执行后台代码(asp.net写法),看了html源文件才明白,fineui不是这样的逻辑。
故分享解决方法:
======解决方法如下======
页面:
<body>
<form id="form1" runat="server">
<f:pageManager runat="server"/>
<f:TextBox runat="server" ID="tb1" EmptyText="输入123为非法!"/>
<f:Button runat="server" ID="btn1" Text="输入" OnClientClick=“if(yanzheng()) { alert('非法'); return;}”></f:Button>
</form>
</body>
</html>
<script>
function yanzheng() {
return (F('<%=tb1.ClientID%>').getValue() == "123");
}
</script>
后台就一个button方法:
protected void _btn1_OnClick(object sender, EventArgs e)
{
Alert.Show("后台方法");
}