2012-03-15 2 views
1

Я нашел этот полезный небольшой метод отображения заголовков полей в самих текстовых полях.Текстовые наклейки в текстовом поле передаются onsubmit

http://viralpatel.net/blogs/2009/09/default-text-label-textbox-javascript-jquery.html

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

Может ли кто-нибудь сказать мне, как добавить проверку onsubmit, чтобы убедиться, что мы не отправляем текст по умолчанию?

Это JavaScript:

$('input[type="text"]').each(function() { 

    this.value = $(this).attr('title'); 
    $(this).addClass('text-label'); 

    $(this).focus(function() { 
     if (this.value == $(this).attr('title')) { 
      this.value = ''; 
      $(this).removeClass('text-label'); 
     } 
    }); 

    $(this).blur(function() { 
     if (this.value == '') { 
      this.value = $(this).attr('title'); 
      $(this).addClass('text-label'); 
     } 
    }); 
}); 

Большое спасибо ...

+0

При отправке формы, проверьте значение каждого поля против этого месторождения title. Кажется, это то, что плагин использует для добавления текста. – j08691

+0

Возможно, вы также захотите использовать атрибут Placeholder (http://dev.w3.org/html5/spec/Overview.html#the-placeholder-attribute) – isotrope

+0

@isotrope, который был бы идеальным, но он не работал для меня. Не знаю, скоро ли это использовать? –

ответ

1

Нечто подобное должно работать:

$('form').submit(
    function(e){ 
     $(this).find('input, select, textarea').each(
      function(){ 
       if ($(this).val() == this.title){ 
        $(this).val(''); // removes the value 
        // or prevent form submission: 
        // return false; 
       } 
      }); 
    }); 
+0

Спасибо, что сделал трюк –

+0

Если вы используете фреймворк вроде Rails, где ваши поля повторно заполняются, когда проверка не выполняется, добавляется дополнительная проверка перед 'this.value = $ (this) .attr ('title'); 'чтобы убедиться, что поле пуст, прежде чем вставить заголовок ввода, чтобы он не заменил ваши данные на вас. – Noz

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