JQuery Valdiation - не требуется, но проверяется - PullRequest
0 голосов
/ 15 февраля 2012

Заранее благодарим за любую помощь, которую вы можете оказать.

Я пишу простую форму, используя плагин jquery validate.

Мои первые два поля - это имя и адрес электронной почты, оба поля обязательны для заполнения.

Мое третье поле - номер телефона, но не обязательно.

В каждом поле у ​​меня есть начальные значения в текстовом поле (например, введите здесь свое имя, введите свой телефон здесь, введите адрес электронной почты здесь)

Я добавил элементы, чтобы, если поле не было изменено, оно возвращало сообщение об ошибке.

Моя проблема в том, что у меня проблемы со следующим

1) проверка номера телефона с помощью jquery 2) проверка поля номера телефона, если оно не требуется, но не выдает ошибку, если пользователь ничего не печатает и оставляет для него значение по умолчанию

Вот мой код jquery

<script>
$(document).ready(function(){

$.validator.addMethod(
'noPlaceholder', function (value, element) {
    return value !== element.defaultValue;
 }, 'Please enter a value.'
 );



 $("#drform").validate({

 rules: {
    name: "required",
    email: "required email",

 },

  messages: {
    name: "Enter your name",
    email: "Enter your primary email address",

},
  category: {
    notEqual: "Enter Your Name Here...",
    notEqual: "Enter Your Email Here..."
},


errorPlacement: function (error, element) {
        error.insertBefore(element.prev());
        element.parent().addClass('error');


}

});
    });
    </script>

и вот мой код формы

 <div class="is-selection3">
 <div style="width: 200px;">
 <div class="errormsg"></div>
 <input name="name" type="text" size="30" class="is-input noPlaceholder" id="name" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Your Name Here...':this.value;" value="Enter Your Name Here..." ><br>
 <input name="email" type="text" size="30" class="is-input"  id="email" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Your Email Here...':this.value;" value="Enter Your Email Here..."><BR>
 <input name="mobile" type="text" size="30" class="is-input mobile"  id="mobile" onclick="this.value='';" onfocus="this.select()" onblur="this.value=!this.value?'Enter Your Phone Number Here...':this.value;" value="Enter Your Phone Number Here..."> 
 <BR>
 <center><input type="submit" name="button" id="button" value="Submit" /></center>
 </div>

Любые мысли о том, как я могу проверить, если по умолчанию не существует, но не делает это также требуется?

1 Ответ

0 голосов
/ 15 февраля 2012

Совет ... старайтесь не использовать атрибут "onEVENT", запишите свои действия javascript в файлах javascript.

О вашей проблеме: с появлением HTML5 вы можете использовать плашдолдер и требуемые атрибуты и добавить плагин jquery для работы с браузером, который не поддерживает эти атрибуты.

Некоторые плагины для этих атрибутов:

GitHub - Матиас Бенс - Плагин-заполнитель jQuery

GitHub - Daniel Stocks - Плагин-заполнитель jQuery

Webcloud - плагин-заполнитель jQuery

Илья Дразнин - Плагин-заполнитель jQuery

GetHiFi - обработчик jQuery для обязательного атрибута

И что вы хотите с помощью ввода для номера телефона - это плагин для ввода масок:]

DigitalBush - Плагин маскированного ввода

Webappers - плагин для маскировки jQuery

Conetrees - jQuery Маскированный плагин ввода

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