HTML-форма для проверки jquery - PullRequest
1 голос
/ 07 апреля 2011

Я пытаюсь проверить текстовое поле формы с помощью валидатора jquery, оно отлично работает с формами zend-framwork, но не работает ни с какой HTML-формой, и вот код: 1) это скрипт в htmlстраница:

<script>
    $("#newsletter").validate({
        rules: {
            newsletter_input:{
                email: true
            }
        }
    });
</script>

2) это форма:

  <form id="newsletter">
  <input type="text" name="newsletter-input" id="newsletter_input" class="clickable_search email " title="enter your e-mail" value="enter your email" />
  <input type="submit" value="" id="newsletter-submit" />
   </form>

что мне здесь не хватает ???

Ответы [ 4 ]

1 голос
/ 07 апреля 2011

Вы включаете скрипт jQuery на странице?

Попробуйте просто:

<script>
$(document).ready(function() {
    $("#newsletter").validate();
});
</script>

И добавьте required в качестве класса для ввода электронной почты в рассылку.

<form id="newsletter">
<input type="text" name="newsletter-input" id="newsletter_input" class="clickable_search email required" title="enter your e-mail" value="enter your email" />
<input type="submit" value="Submit" id="newsletter-submit" />
</form>

Это должно сработать.

0 голосов
/ 14 апреля 2011
 <form id ="myform">
 <input type="text" name="newsletter" id="newsletter" class="clickable_search required email " title="أدخل البريد الإلكتروني" value="أدخل البريد الإلكتروني" />
 <input type="submit" value="" id="newsletter-submit" />
 </form>
 <script>
  $(document).ready(function(){
  $("#myform").validate({
  rules: {
  field: {
  required: true,
  email: true
     }
    }
   });
  });
  </script>

это единственный способ, который помог мне поставить идентификатор в форме

0 голосов
/ 07 апреля 2011

Свойство rules объекта validate работает со свойством name элемента, а не id, поэтому код вашего скрипта должен быть:

<script>
    $(document).ready(function() {
        $("#newsletter").validate({
            rules: {
                "newsletter-input":{
                    email: true
                }
            }
       });
    });
</script>

Обратите внимание - не _.

Также стоит отметить, что из-за дефиса в имени поля, который не является допустимым идентификатором javascript, вам нужно указать имя поля в кавычках, чтобы правило работало.

Лично я бы не использовал тире в свойствах name и id и использовал бы вместо этого Camel case

0 голосов
/ 07 апреля 2011
<script>
$("#newsletter-submit").click(function() {
    $("#newsletter").validate({
        ..
    });
});
</script>
...