Проверка формы jquery: сценарий проверки задан внешне - PullRequest
0 голосов
/ 23 апреля 2010

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

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

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

на моей странице содержимого (я использую главную страницу, asp.net)

добавить на мою страницу контента:

<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");
        }

        });
        } ;

Ответы [ 3 ]

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

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

1 голос
/ 23 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...