Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

Не удается получить атрибут value

#javascript #c_sharp #html #cefsharp


Есть html страница и от туда нужно получить значение атрибута value из input.
Для этого я использую cefSharp .

(function() { var sb = document.getElementById('sidebar');
                var query=document.getElementById('query');
                return query.getAttribute("value");
                })();


Без всего лишнего код выглядит так. Так вот return возвращает пустую строку, даже
если я туда что либо впишу.
Получить атрибут class мне удалось

   


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


Ответы

Ответ 1



Все работает правильно. Давайте взглянем на ваш HTML код: getAttribute() возвращает значение указанного атрибута элемента. Если элемент не содержит данный атрибут, могут быть возвращены null или "" (пустая строка); Так как input не содержит аттрибут value поэтому вы и получаете значение null или пустую строку. Также из документации: Примечание: Имеет смысл использовать hasAttribute, чтобы проверять наличие атрибутов перед вызовом getAttribute(), если может быть такое, что выбранный элемент не будет содержать искомого атрибута. Я бы рекомендовал вам использовать value вместо getAttribute, покажу на примере, почему (добавим value="" в input): function getValue() { var query = document.getElementById('query'); // пустая строка console.log(query.getAttribute("value")); // корректное значение console.log(query.value); } Разница в том, что query.value - это значение реального времени, и если пользователь изменит значение текстового поля, он будет содержать это и покажет новое значение. В то время как query.getAttribute('value') будет показывать исходное значение. Ссылка на оригинал: Difference between Element.value and Element.getAttribute(“value”)

Ответ 2



Ваш скрипт работает корректно, измените значение value для тега input в html, чтобы скрипт возвращал не null

Комментариев нет:

Отправить комментарий