Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не меняется значение input через value (https://javascript.ru/forum/events/67414-ne-menyaetsya-znachenie-input-cherez-value.html)

Bingo_o 16.02.2017 14:56

Не меняется значение input через value
 
Здравствуйте!

На сайте есть текстовое поле. Если его менять с помощью клавиатуры, то значение в нем меняется, но если через консоль, через свойство value этого элемента, оно не меняется.

Подскажите, пожалуйста, в чем может быть проблема.

рони 16.02.2017 15:08

Bingo_o,
может вы атрибут хотите изменить, а не свойство?

Bingo_o 16.02.2017 15:14

рони,
Да, прошу прощения.

рони 16.02.2017 15:19

Bingo_o,
#исходное-значение-value

Bingo_o 16.02.2017 15:47

рони,
Через setAttribute('value', 'val') тоже не работает.

elem.setAttribute('value', '123')
alert(elem.value)

Выдает значение по умолчанию.

рони 16.02.2017 15:53

Bingo_o,
ждите телепата

Bingo_o 16.02.2017 16:07

рони,
Ну с чем это может быть связано? Что через setAttribute не меняется атрибут? Как такое вообще может быть?

рони 16.02.2017 16:32

Bingo_o,
что вы делаите и хотите сделать, известно только вам

ksa 16.02.2017 16:32

Цитата:

Сообщение от Bingo_o
Ну с чем это может быть связано?

Ты хоть бы тестовый пример сделал...

Bingo_o 16.02.2017 17:19

ksa,
Тестовый пример к чему? Что хочется увидеть в тесте? На странице есть элемент input. Делаю document.getElementById(id), потом пытаюсь поменять значение в нем через setAttribute('value', 'val'), но оно не меняется. На других сайтах меняется, а на этом - нет.

рони 16.02.2017 17:23

Bingo_o,
возможно там много одинаковых id

Bingo_o 16.02.2017 18:04

рони,
А что делать в таком случае?

Хотя это, скорее-всего, не мой случай. По атрибуту велью я получаю, вроде как, то, что нужно (что и вижу на экране). И если я меняю через клавиатуру, то он там же и меняется.

рони 16.02.2017 18:23

Цитата:

Сообщение от Bingo_o
А что делать в таком случае?

искать уникальный селектор нужного элемента.

Bingo_o 16.02.2017 18:27

рони,
а таковой всегда имеется?

рони 16.02.2017 18:51

Bingo_o,
да - div.col-12:nth-child(7) input что-то типа такого -исследовать элемент - копировать - css-селектор
потом
document.querySelector('div.col-12:nth-child(7) input').value = 'val'

ksa 17.02.2017 08:21

Цитата:

Сообщение от Bingo_o
Тестовый пример к чему?

К твоему случаю. :)
Цитата:

Сообщение от Bingo_o
Что хочется увидеть в тесте?

Чего ты там делаешь, что оно не работает...
Цитата:

Сообщение от Bingo_o
На странице есть элемент input. Делаю document.getElementById(id), потом пытаюсь поменять значение в нем через setAttribute('value', 'val'), но оно не меняется. На других сайтах меняется, а на этом - нет.

Где примееер?
Пока только рассказы, рассказы... Я пример не буду делать принципиально. :D

Bingo_o 18.02.2017 11:14

Понял в чем была загвоздка, на сайте стоит React. Можно ли как-нибудь изменить значение 'val' в React?

AndreyAndrey 22.02.2017 17:13

А может у тебя на странице элемент находится в Iframe каком-нибудь и у него свой window тогда к ниму уже нужно обращаться несколько иначе.
И ещё много чего может быть
Но как и было сказано другими форумчанами без примера советами можно засыпать, а толку от этого не прибавиться.


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