Проблема с проверкой формы с помощью плагина jquery validate - PullRequest
0 голосов
/ 07 октября 2010

У меня есть следующий код для проверки валидации SubmitForm, показанной ниже. Когда я нажимаю на тег divListing AddressListing и вызываю функцию валидации, она выполняет валидацию только для поля имени компании, но не для остальных оставшихся полей. Поле имени только для бизнеса будетвыделено красным цветом, но не другими полями.Я использую следующий плагин jquery для проверки полей http://jquery.bassistance.de/validate/jquery.validate.js

Example.html

<fieldset id="fieldset1"> <legend>Registration Details:</legend>
               <form id="SubmitForm">
                Name of business:<br/>
                  <input size="30" type="text" id="businessname" class="required" /><br/>               
                Zipcode:<br>
                  <input size="30" type="text" id="zipcode"  class="required zipcode"/><br>              
                Telephone:<br/>
                  <input size="30" type="text" id="telephone"  class="required phone" /><br/>
                Email:<br/>
                  <input size="30" type="text" id="email"  class="required email"/>
                     </fieldset>
                  <br/>
                Your email is your User Name:<br/>
              <input size="30" type="text" id="username" class="required"/><br/>
                Choose Password:<br/>
              <input size="30" type="text" id="pass" class="required password" class="required"/><br/>
                Retype Password:<br/>
              <input size="30" type="text" id="pass1" equalTo="#pass"/><br/>               
         <input id="Addresslisting" type="image" src="images/Submit.png" align="left"  />                                
  </form>  
</feildset>

Example.js

$(document).ready(function() {

    $("#Addresslisting").click(function() {
    $("#addresslistingform").validate();
});

});

Example.css

label { width: 10em; float: left; }
label.error {

color: red; padding:8px 200px 0px 0px; vertical-align: top; float:right;
 background:url("unchecked.gif") no-repeat 120px 0px; 
    }
input.error {border:1px solid red;}
input.errorlist {margin:0; color: red; margin-bottom:10px;}
#fieldset1
{
border: 1px solid #1f76c8;
width: 500px;
margin:5px;
padding:10px 15px 5px 15px;
}   

Ответы [ 2 ]

1 голос
/ 07 октября 2010

РЕДАКТИРОВАТЬ 2 Вам не хватает атрибутов имени в полях формы. У меня это работает здесь: http://jsfiddle.net/3aPHy/

$(document).ready(function() {

    $("#Addresslisting").click(function() {
        $("#SubmitForm").validate();
    });

});

Разве вы не подтверждаете это неправильно? Разве это не должно быть submitForm?

РЕДАКТИРОВАТЬ Если вышеописанное не работает, попробуйте:

$(document).ready(function() {
    $("#SubmitForm").validate();

    $("#Addresslisting").click(function() {
        $("#SubmitForm").submit();
    });
});
0 голосов
/ 07 октября 2010

попробуйте это:

$().ready(function() 
    {
        // validate signup form on keyup and submit
        $("#SubmitForm").validate();
    }

Я не уверен, что почтовый индекс уже присутствует по умолчанию в правилах, вам необходимо явно определить его в правилах проверки

rules: {
 zip: {      required:true,
            maxlength:6,
            number:true 
        },
      }
...