Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.09.2017, 22:50
Интересующийся
Отправить личное сообщение для rybachok91 Посмотреть профиль Найти все сообщения от rybachok91
 
Регистрация: 07.09.2017
Сообщений: 12

Не работает событие change на поле input
Здравствуйте, уважаемые программисты! Помогите, пожалуйста, новичку . Я делаю следующее: при клике на блок #name меняю его содержимое на input. И теперь нужно, чтобы, когда в поле будет изменено значение, при нажатии на Enter или уводе фокуса это значение сохранить в переменную, чтобы дальше использовать. Я не могу понять, почему не работает событие, если я пишу его после инструкции с заменой. Не говоря уже о том, как объединить 2 события с помощью on(). Единственное, что получается, это когда событие прописано в самом теге input. Почему так получается с событием? Помогите.....
Изображения:
Тип файла: jpg 01.jpg (119.1 Кб, 12 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2017, 08:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Копировать текст программы текстом уже моветон?
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2017, 10:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

rybachok91,
Сколько div с id="name" у вас создается в цикле?
id должен быть уникальным.
То же замечание и по индексам других создаваемых div
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2017, 10:39
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

ksa,
Простой текст в наш век цифровых технологий, когда фотоаппарат есть в каждом телефоне?...

rybachok91,
Вы пытаетесь навесить событие на элемент, которого ещё нет. Он появится потом, при клике.
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2017, 11:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Сообщение от Белый шум
Простой текст в наш век цифровых технологий, когда фотоаппарат есть в каждом телефоне?
От нас наверное уже видео ждут с объяснениями...
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2017, 13:05
Интересующийся
Отправить личное сообщение для rybachok91 Посмотреть профиль Найти все сообщения от rybachok91
 
Регистрация: 07.09.2017
Сообщений: 12

Сообщение от ksa Посмотреть сообщение
От нас наверное уже видео ждут с объяснениями...
Спасибо, что ответили. Вот Вы смеетесь, а мне все так же не понятно. Все когда-то начинали и ошибались. Тогда буду искать видео, где объяснят.
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2017, 13:21
Интересующийся
Отправить личное сообщение для rybachok91 Посмотреть профиль Найти все сообщения от rybachok91
 
Регистрация: 07.09.2017
Сообщений: 12

Сообщение от Белый шум Посмотреть сообщение
ksa,
Простой текст в наш век цифровых технологий, когда фотоаппарат есть в каждом телефоне?...

rybachok91,
Вы пытаетесь навесить событие на элемент, которого ещё нет. Он появится потом, при клике.
Спасибо, что ответили. Давайте я Вас еще больше рассмешу. Мне не понятно: в первом виде на скриншоте следом за событием click написано change и вывод alert для проверки, если оно сработало. Во втором виде последовательность та же и все заработало. Ну и конечно да, у меня не получилось объединить два события через on() это вас повеселит.

$("#name").click(function() {
$(this).replaceWith('<input type="text" name="correct_name"
id="cor_name" value="' + get_name(person_data) +'" size="30">');

$("#cor_name").keyup(function(eventObject){
changed_name = $("#cor_name").val();
if (event.keyCode == 13) {
return changed_name;
}
});
$("#cor_name").change(function(){
changed_name = $("#cor_name").val();
return changed_name;
});
});

Последний раз редактировалось rybachok91, 08.09.2017 в 13:31.
Ответить с цитированием
  #8 (permalink)  
Старый 08.09.2017, 13:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,210

Сообщение от rybachok91
Давайте я Вас еще больше рассмешу.
Ты не нас смеши... А себе помоги - сделай нормальный тестовый пример и выкладывай его тут. На нем покажут что к чему, если тебе не понятны словесные объяснения...
Ответить с цитированием
  #9 (permalink)  
Старый 08.09.2017, 13:39
Интересующийся
Отправить личное сообщение для rybachok91 Посмотреть профиль Найти все сообщения от rybachok91
 
Регистрация: 07.09.2017
Сообщений: 12


У меня выводится из базы данных одна строка со значениями: имя, возраст, город. Эти значения помещаются в 3 блока: id="name", id="age", id="city". Строка только одна и каждый блок со своим id. Т.е. не будет по 2 имени и т.д. Или неправильно? И уже потом, когда значения поменяются вручную, при уводе фокуса или нажатием Enter, их нужно так же через ajax сохранить в базе.
Ответить с цитированием
  #10 (permalink)  
Старый 08.09.2017, 13:42
Интересующийся
Отправить личное сообщение для rybachok91 Посмотреть профиль Найти все сообщения от rybachok91
 
Регистрация: 07.09.2017
Сообщений: 12

Сообщение от ksa Посмотреть сообщение
Ты не нас смеши... А себе помоги - сделай нормальный тестовый пример и выкладывай его тут. На нем покажут что к чему, если тебе не понятны словесные объяснения...
Чем плох пример?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дублирование INPUT1 и INPUT2 в поле INPUT 3 grafb Общие вопросы Javascript 3 23.08.2020 12:15
change событие после появления PHP Useless Элементы интерфейса 6 31.07.2017 11:38
событие change Shaci Общие вопросы Javascript 3 20.02.2012 22:31
Событие Change exvion jQuery 3 06.05.2010 12:11
Как отловить событие onchange на LookUp поле? spps Events/DOM/Window 0 09.09.2008 16:02