2010-07-15 2 views
1

Добро пожаловать,Check is textarea empty (обрабатывать только «вводить», как пустой)?

У меня есть textarea, и у меня есть небольшая функция, что позволяет мне отправлять сообщения на клавиатуре.

$(function(){ 
    $('input').keydown(function(e){ 
     if (e.keyCode == 13) { 

      $(".sender").click(); 
      return false; 
     } 
    }); 
}); 

Это отлично работает, я имею в виду большое :)

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

var tag = $("#mytextarea").val(); 

if(tag.length<1) 
{ 
//empty 
} 
else 
{ 
//not empty 
} 

Но это не работает. Я также пытаюсь val == '' Я думаю, что он считает, что введите, какой пользователь ударил для отправки формы;) Я пытался узнать значение предупреждения, но я получил только то, что вводит ...

Итак, как я могу проверить, пусто или нет, но подсчет вводится, как пустой. Если будет найдено только войти, угроза как пустое пространство Вал == «»

С уважением

ответ

3

Попробуйте

/\S/.test(tag); 

\S является регулярным выражением для «непробельного характера».

Так что если этот шаблон соответствует tag, значит tag содержит любой символ без пробелов.

if(/\S/.test(tag)) { 
    // has content! 
} 
+0

спасибо, это работает прекрасно. Приятно познакомиться с новой вещью;) – marc

0

Вы должны использовать регулярное выражение для этого, также включает в себя случаи, когда у вас есть возврат каретки:

if(tag.search(/[^\n\s]/)!=-1) 
{ 
//not empty 
} 
else 
{ 
//empty 
}