Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проверка textarea на заполнение из файла (https://javascript.ru/forum/dom-window/56706-proverka-textarea-na-zapolnenie-iz-fajjla.html)

espltd 30.06.2015 12:42

Проверка 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>

ksa 30.06.2015 12:47

Цитата:

Сообщение от espltd
Пытаюсь добиться того, чтобы как только в textarea вставились email-ы, вылазило уведомление.

Так после записи тех данных и выводи свое сообщение...

espltd 30.06.2015 12:56

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

espltd 30.06.2015 12:57

на focus работает, а надо, чтобы имеенно при вставке емайлов он выдавал сообщение

рони 30.06.2015 13:41

espltd,:-?
.on('input', function(){})

espltd 30.06.2015 16:09

Цитата:

Сообщение от рони (Сообщение 377130)
espltd,:-?
.on('input', function(){})

РОНИ, у меня че то не выходит, видимо как то не правильно пишу, можешь в мой код вставить написанную тобой конструкцию? Я видно не правильно это делаю - не выходит. Спасибо, что ответил

espltd 30.06.2015 16:11

Рони, забыл написать, если вводишь руками то получается - уведомление выводиться, а вот когда пытаюсь из файла подгрузить, ни в какую, он как будто не может понять, что в текстарею аяксом залетел текст

рони 30.06.2015 16:15

Цитата:

Сообщение от espltd
что в текстарею аяксом залетел текст

так это в аякс нужно тригер добавить после вставки $('#myForm textarea').focus()

espltd 30.06.2015 16:37

Добавил, в принципе стало работать, но она начала мигать т.к. .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>

рони 30.06.2015 16:46

espltd,
на всякий случай зачем вам дублировать focus
достаточно .on(\'input focus\' - более пока не подскажу.


Часовой пояс GMT +3, время: 03:39.