2010-04-23 4 views
0

у меня есть форма JQuery проверки в главной странице, и она работает хорошо, и я получил, что работа из этой статьи: http://www.dotnetcurry.com/ShowArticle.aspx?ID=310JQuery форма проверки: сценарий проверки указано внешне

мой вопрос: если я помещаю .js в внешние и добавить ссылку на мою страницу, то ее не работает ... он говорит, что объект ожидается

вот как я сделал:

в моей странице контента (я использую главную страницу, aSP.NET)

добавить в мой con Палатка страница:

<script src="myform_validation.js" type="text/javascript"></script> 
<script type="text/javascript"> 

    $(document).ready(function() {  
     ValidateMe(this); 
    }); 
</script> 

ниже во внешнем .js файле:

function ValidateMe() { 

      $("#aspnetForm").validate({ 
       rules: 
       { 
         <%=TextBox1.UniqueID %>: 
         { 
          maxlength:1, 
          //minlength: 12, 
          required: true 
         }, 
         <%=TextBox2.UniqueID %>: 
         { 
          minlength: 12, 
          required: true 
         }, 
         <%=TextBox3.UniqueID %>: 
         { 
          minlength: 12, 
          required: true 
         }//, 
//      
       },   
       messages: 
        { 
         <%=TextBox1.UniqueID %>: 
         { 
          required: "Enter your firstname", 
          minlength: jQuery.format("Enter at least {0} characters") 
         }, 
         <%=TextBox2.UniqueID %>: 
         { 
          required: "Please enter a valid email address", 
           minlength: "Please enter a valid email address" 
         } , 
          <%=TextBox3.UniqueID %>: 
         { 
          required: "Enter your firstname", 
          minlength: jQuery.format("Enter at least {0} characters") 
         } 

        } , 


      success: function(label) { 
      // set &nbsp; as text for IE 
      label.html("&nbsp;").addClass("checked"); 
     } 

     }); 
     } ; 
+0

Вы включили ссылку jquery в свои внешние js? – melaos

ответ

1

Я подозреваю его потому, что ваш сервер тегов (<%=TextBox1.UniqueID%>) не обрабатываются сервером. По умолчанию IIS не обрабатывает файлы .js.

+0

+1. Да, возможно, это так, не видел этой мысли :) – ntziolis

1
  1. Для начала попробуйте всегда использовать , которые были идентифицированы для jQuery. Иногда вы используете JQuery и иногда $, я бы рекомендовал использовать $ весь путь, но только потому, что его короче и хорошо известны (и им ленивых;)).
  2. Вы передаете это в внешнюю функцию ValidateMe , даже , хотя у нее нет параметров. Вы уверены, что вы правильно извлекли функцию ?
  3. И всегда убедитесь, что все файлы js указаны, прежде чем вы начнете , используя в них функции.
+0

Спасибо за отзыв, но я не вижу, где я использую JQuery, и я также предпочитаю использовать $ :) о вашем # 2), я пытался использовать другой метод и не использовать они работают, с прохождением параметров и без прохождения параметров –

+0

@Abu - например, по адресу: jQuery.format («Введите не менее {0} символов») – ntziolis

+0

oops я вижу это :) –

1

Почему вы пытаетесь поместить javascript во внешний файл? Сценарий специфичен для элементов управления на странице, поэтому оставьте его там. В противном случае вы добавляете латентность на страницу, требуя дополнительной загрузки файла.

+0

@ Даниэль, причина, по которой я делаю это потому, что это будет так много беспорядка на странице и просто хочет быть аккуратным и простым. –

Смежные вопросы