如何从外部jquery文件调用validate

时间:2014-06-24 05:40:43

标签: jquery asp.net

我的jquery验证代码是作为内部jquery代码工作但我想通过外部文件在我的页面中调用此代码我正在做我无法调用

<script  type="text/javascript">
    $(document).ready(function(){

     $("#form1").validate({
                rules: {
                    <%=name.UniqueID %>:{
                        required:true
                    },
                    <%=password.UniqueID %>:{
                        required:true,
                         minlength:5,
                    },
                    <%=repassword.UniqueID %>:{
                        required:true,
                        equalTo:"#password"
                    },
                    <%=email.UniqueID %>: {
                        required: true,
                        email: true
                    },
                     <%=mobile.UniqueID %>: {

                        required:true,
                        digits:true,
                        minlength:10,
                        maxlength:10,

                      }

                }, 

                messages: {
                    <%=name.UniqueID %>:{
                        required: "* Required Field *"
                    },
                    <%=password.UniqueID %>:{
                        required:"* Required Field *"
                    }

                }




        });


});


    </script>

这是我的jquery代码,我使用它作为内部代码它工作正常请帮我从外部js文件调用此代码。在我的asp .net代码中 -

  

                                       

   <link rel="stylesheet" type="text/css" href="StyleSheet.css"/> </head> <body  runat="server">
 <form id="form1" runat="server" >    <div>

<asp:label  ID="heading" runat="server" text="Validation  Form"></asp:label>    <table>    <tr>
   <td class="deslabel">Name</td>
   <td><asp:TextBox Id="name" CssClass="destext" runat="server" ></asp:TextBox></td>    </tr>   <tr>
   <td class="deslabel">Password</td>
  <td> <asp:TextBox Id="password" CssClass="destext" runat="server" ></asp:TextBox></td>    </tr>    <tr>
   <td class="deslabel">Repassword</td>
  <td> <asp:TextBox Id="repassword" CssClass="destext" runat="server" ></asp:TextBox></td>    </tr>    <tr>
   <td class="deslabel">E-Mail ID</td>
   <td><asp:TextBox Id="email" CssClass="destext" runat="server" ></asp:TextBox></td>    </tr>        
     <tr >
         <td class="deslabel">Mobile Number</td>
      <td>  <asp:TextBox Id="mobile" CssClass="destext" class="groupName" runat="server" MaxLength="10" ></asp:TextBox></td>
     </tr>
      <tr >
         <td class="deslabel">Gender</td>
       <td>
    <asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal">
    <asp:ListItem Text="Male" Value="Male" />
    <asp:ListItem Text="Female" Value="Female" />
    </asp:RadioButtonList>
    <p></p>
    </td>
     </tr>
     <tr align="center">   
       <td colspan="2">  <asp:Button ID="Button1"  CssClass="destext"          OnClientClick="value" runat="server" Text="submit"/></td> 

         </tr>
         </table>    </div>
 </form> </body> </html>

1 个答案:

答案 0 :(得分:0)

  1. 删除脚本标记,将代码复制到例如validate.aspx中 - 因为文件中有ASP,所以需要将它们作为asp代码执行

  2. 添加 页面顶部的<script src="validate.apsx"></script>以及 <script src="jquery.js"></script>

  3. aspx必须发送标头来设置mime类型:

    <% response.ContentType="text/javascript" %>
     $(document).ready(function(){ ...
    

    替代方案在js中将<%=xxxx.UniqueID %>更改为xxxx,其中xxxx是字段的实际ID,并将其包含为.js而不是

    最后的选择是

    <script>
    var fieldNames = { 
      name:"<%=name.UniqueID %>",
      password:"<%=password.UniqueID %>",
      repassword: "<%=repassword.UniqueID %>",
      email:"<%=email.UniqueID %>",
      mobile:"<%=mobile.UniqueID %>"
    }
    </script>
    
    ASP中的

    并具有类似

    的内容
     $("#form1").validate({
       rules: {
         fieldNames["name"] : {
           required:true
         },
    

    在JS文件中