Как вызвать validate из внешнего файла jquery

#jquery #asp.net

#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. вы включили файл js на страницу html? я не могу найти его в html

2. Да, я включил Jscript.js досье…

Ответ №1:

  1. Удалите теги сценария, скопируйте код, например, в validate.aspx — поскольку у вас есть ASP в файле, вам нужно выполнить их как код asp

  2. добавьте <script src="validate.apsx"></script> в начало страницы вместе с <script src="jquery.js"></script>

aspx должен будет отправить заголовок для установки типа mime :

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

Альтернатива измените ВСЕ <%=xxxx.UniqueID %> на xxxx в js, где xxxx — фактический идентификатор поля, и вместо этого включите его как .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