2013-05-13 6 views
0

Я в настоящее время просматриваю серию ящиков ввода и выполняет проверку, если пользователь просто ничего не вводит. У меня есть условие , которое говорит, что если это отдельный идентификатор, который вводит поле ввода и выполняет отдельную проверку для него. Это простая проверка того, что просто проверяет, чтобы длина формы не превышала 10 символов. Но почему-то это не работает. Если я вводю один символ , он просто переходит к следующей итерации. Также есть в любом случае я могу удалить , имея эти несколько операторов if внутри операторов if. Любая помощь .jQuery проверить длину поля, если конкретный идентификатор

$("form :input").each(function(){ 

var $this = $(this); 

if(!this.value.length){ 

    if(this.id == "phoneNumber" && $this.is(":visible")){ 
     if($this.val().length < 10){ 
     alert("phone number required"); 
     } 
    } 


} else if($(this).is(":visible")){ 
    //do some other validation  
} 
+0

И какой 'id' это то, что вы пытаетесь выделить? «Номер телефона»? –

+0

Возможно, будет полезен [плагин проверки jQuery] (http://docs.jquery.com/Plugins/Validation). –

ответ

2

Вложенные тесты проблема: нет смысла в тестировании, если длина <10 когда вы уже опробовали это 0. Когда значение равно 1 char length, вы даже не проверяете, слишком ли он слишком мал, как номер телефона.

Вы, наверное, хотели это:

if (this.id == "phoneNumber" && $this.is(":visible") && this.value.length<10){ 
    alert("phone number required"); 
} else if(!this.value.length) { 
    // alert field empty ? 
} else ... 
+0

спасибо @dystroy работал отлично! –

0

JQuery имеет плагин проверки. Делает все тяжелый подъем для вас. Он имеет минимальную проверку длины, а также проверки, чтобы убедиться, что номер является действительным номером телефона #, действительным CC# и многими другими типами полей. http://docs.jquery.com/Plugins/Validation

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