在.Net中使用Jquery.validate.js来验证Form的问题

一周寂寞七天 发布于 2011/05/23 23:52
阅读 3K+
收藏 1

在.NET中所有的服务器控件Button在生成HTML的时候,都将自动生成为submit.

而jquery.validate.js在验证时,如果验证没有通过,刚不允许提交。

这下悲剧了,如果我有多个服务器端的Button控件,比如有:btnInsert,btnUpdate,btnLogOut,btnReturn 它们都将生成为HTML中的submit,但我的btnLogOut,btnReturn明显不需要Jquery.validate.js验证..   这个该怎样处理呀?

------------------------------------------------------------------------------------------------

网上有人提出这样解决:

<script type="text/javascript">

        function NeedValidate()

         {

            $("#form1").validate({

                rules:

                {

                    txtTires: { digits: true }

                     .........

                },

                messages:

                {

                    txtTires: "轮胎只能填整数"

                    .................

                }

            })

        }

 

        //取消表单验证

        function NoValidate() {

            $("#txtTires").rules("remove"); //如果有多个 依次取消     

            ........................

         }

 

        $(function () {

            //给需要验证的控件为表单绑定验证

            $("#btnInsert,#btnUpdate").click(function () {

                NeedValidate();

            });

 

            //不需要验证的控件 取消验证绑定

            $("#btnReturn,#btnLogOut").click(function () {

                NoValidate();

            });

        });

 

    </script>

------------------------------------------------------------------------------------------

HTML:

     <form>

      轮胎数:<asp:TextBox runat="server" ID="txtTires" name="txtTires" width="130px"></asp:TextBox>

                 <asp:Button runat="server" ID="btnInsert" Text="录入"/>

                 <asp:Button runat="server" ID="btnUpdate" Text="更新"/>

                <asp:Button runat="server" ID="btnLogOut" Text="退出"/>

                <asp:Button runat="server" ID="btnReturn" Text="返回"/>

    </form>

-----------------------------------------------------------------------------------------------

 

上面的那个方法,虽然解决了多个submit,有些提交时要验证,有些提交时不验证的问题。

但是,个人觉得不行.....Jquery.validate.js验证时,当文本框一失去焦点,它会验证输入是否正确,如果,验证不通过,则立即提示。现在的问题是:它要点击按钮了才进行验证和提示....这个和后台验证没什么区别嘛....

--------------------------------------------------------------------------------------------------

最后想问问大侠们有木有什么更好的验证插件或方法可以推荐呀?

 


 

 

加载中
0
qycms_cn
qycms_cn

这明显是设计思路上的问题,一个表单原则上都是只有一个submit,其它的只能type="buttom"型式。

type="buttom"形式的按钮也可以触发form.validation事件,按需要定:

<input type="buttom" value="btn1" onclick="func()" />

....

func(){

var rs = form.validation()....

 

if(rs){

$('#formid').submit();

}

return true;

}

0
开源红薯烹调技术专家
开源红薯烹调技术专家

设置 type啊,你不指定默认就是submit的!

0
一周寂寞七天
一周寂寞七天

引用来自#2楼“杨金焕”的帖子

这明显是设计思路上的问题,一个表单原则上都是只有一个submit,其它的只能type="buttom"型式。

type="buttom"形式的按钮也可以触发form.validation事件,按需要定:

<input type="buttom" value="btn1" onclick="func()" />

....

func(){

var rs = form.validation()....

if(rs){

$('#formid').submit();

}

return true;

}

这个嘛....因为是直接用的服务控件Button,它自动就全都生成为submit?这个你怎样改....把其中的一些改为不是服务器控件?改为...Type="button".......这个我也知道......

0
一周寂寞七天
一周寂寞七天

引用来自#3楼“FoxHunter”的帖子

设置 type啊,你不指定默认就是submit的!

服务器控件可以指定为Type=“button”属性?试试呢..谢谢...

0
一周寂寞七天
一周寂寞七天

引用来自#5楼“一周寂寞七天”的帖子

引用来自#3楼“FoxHunter”的帖子

设置 type啊,你不指定默认就是submit的!

服务器控件可以指定为Type=“button”属性?试试呢..谢谢...

还是只能用input标签...,行了..

0
卢举煌
卢举煌
在button上个样式 就可以了。 class="cancel"
0
安静的夜曲
在不需要的button上加上UseSubmitBehavior="false" 属性就可以了。
返回顶部
顶部