Проверка textarea на заполнение из файла
Всем привет! Есть textarea и кнопка загрузки файла, при выборе файла, в textarea попадают email - списком.
Пытаюсь добиться того, чтобы как только в textarea вставились email-ы, вылазило уведомление. На focus реагирует, а на чтение длинны или просто считывание val() ни хрена не видит, пусто оно или же нет. Делаю так. Как только мышкой щелкаю по textarea вылазит уведомление т.к. отслеживает фокус, а другими методами не получается. Что делаю не так? Подскажите пожалуйста! <script type="text/javascript"> $(document).ready(function(){ $('#myForm textarea').focus(function(){ var name = $(this).attr('name'); $('label.fieldHint[for="'+name+'"]').fadeIn('slow'); }).blur(function(){ var name = $(this).attr('name'); $('label.fieldHint[for="'+name+'"]').fadeOut('slow'); }); }); </script> |
Цитата:
|
Подожди, мне надо это сделать до отправки формы, т.е. тока телефоны появились в поле, раз и вывелось уведомление. При записи то я бы сделал, а мне надо именно до отправки. не могу вкурить как это сделать
|
на focus работает, а надо, чтобы имеенно при вставке емайлов он выдавал сообщение
|
espltd,:-?
.on('input', function(){}) |
Цитата:
|
Рони, забыл написать, если вводишь руками то получается - уведомление выводиться, а вот когда пытаюсь из файла подгрузить, ни в какую, он как будто не может понять, что в текстарею аяксом залетел текст
|
Цитата:
|
Добавил, в принципе стало работать, но она начала мигать т.к. .on('input', function(){}) тоже задействован, получается, что по дефолту используется первая конструкция, на забивку ручками проверяет, а при вставке текста из файла вылазит вторая, т.е. focus(), и соответственно работают обе. вот так выглядит.
// Перебор массива с номерами телефонов for (var i in myArrayPhones) { if(myArrayPhones[i].trim().length >= '10') if(i==0) $('#phones').val(myArrayPhones[i].trim()); else $('#myForm textarea').focus(); $('#phones').val($('#phones').val()+';\n'+myArrayPhones[i].trim()); } <script type="text/javascript"> $(document).ready(function(){ $('#myForm textarea').on('input', function(){ var name = $(this).attr('name'); $('label.fieldHint[for="'+name+'"]').fadeIn('slow'); }).blur(function(){ var name = $(this).attr('name'); $('label.fieldHint[for="'+name+'"]').fadeOut('slow'); }); }); </script> <script type="text/javascript"> $(document).ready(function(){ $('#myForm textarea').focus(function(){ var name = $(this).attr('name'); $('label.fieldHint[for="'+name+'"]').fadeIn('slow'); }); }); </script> |
espltd,
на всякий случай зачем вам дублировать focus достаточно .on(\'input focus\' - более пока не подскажу. |
Часовой пояс GMT +3, время: 21:55. |