FineUI 官方论坛

标题: 解决OnClientClick中无论是返回true或false,都依然执行后台代码 [打印本页]

作者: zy32002    时间: 2015-2-9 14:37
标题: 解决OnClientClick中无论是返回true或false,都依然执行后台代码
本帖最后由 zy32002 于 2015-2-9 14:41 编辑

有时写js代码验证数据,需要在OnClientClick中执行,如果符合条件执行后台代码,不符合则不触发后台代码。
刚开始的时候无论返回true或false都会执行后台代码(asp.net写法),看了html源文件才明白,fineui不是这样的逻辑。
故分享解决方法:

======解决方法如下======
页面:
<body>
    <form id="form1" runat="server">
    <fageManager 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("后台方法");
        }






欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4