20.08.2021, 02:09
|
Аспирант
|
|
Регистрация: 09.06.2017
Сообщений: 40
|
|
Не могу переустановить value никак
Здравствуйте, никак не получается поменять значение value что только не делал, значение визуально меняется, но при клике оно опять пустое
Код:
|
<div class="class1" height="64px">
<div class="class2">
<input name="ghost" auto="off" height="64px" type="text" check="false"
class="class3" value=""></div> |
Код:
|
document.querySelector("input").value="New Value";
$("input").setAttribute('value', 'New value'); |
Пробовал так и даже мышь эмулировал .click .mouseout .mousemove ничего не вышло и в самом коде оно остаётся так же пустым
Последний раз редактировалось noveek, 20.08.2021 в 02:21.
|
|
20.08.2021, 02:21
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Надо полагать следят за значением откуда-то ещё. Тебе надо руками вызвать событие input и\или change после изменения значения.
__________________
29375, 35
|
|
20.08.2021, 02:30
|
Аспирант
|
|
Регистрация: 09.06.2017
Сообщений: 40
|
|
Сообщение от Aetae
|
Надо полагать следят за значением откуда-то ещё. Тебе надо руками вызвать событие input и\или change после изменения значения.
|
Код:
|
document.querySelector("input").value="New Value";
document.querySelector("input").input;
undefined
document.querySelector("input").change;
undefined |
В коде если менять вручную только там меняется как не странно я думаю теоретически можно снести элементы проверяющие .remove мб так удастся
Последний раз редактировалось noveek, 20.08.2021 в 02:44.
|
|
20.08.2021, 05:37
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
noveek, конечно undefined, что ты там хотел найти?
Похоже javascript ты не знаешь.
Вот тебе функция которая скорее всего сработает:
function setValue(element, value, options) {
if(typeof element === 'string')
element = document.querySelector(element);
options = Object.assign({
bubbles: true
}, options);
element.value = value;
element.dispatchEvent(new Event('input', options));
element.dispatchEvent(new Event('change', options));
return element;
}
setValue('input', 'New Value')
__________________
29375, 35
Последний раз редактировалось Aetae, 20.08.2021 в 05:40.
|
|
20.08.2021, 06:24
|
Аспирант
|
|
Регистрация: 09.06.2017
Сообщений: 40
|
|
Сообщение от Aetae
|
noveek, конечно undefined, что ты там хотел найти?
Похоже javascript ты не знаешь.
Вот тебе функция которая скорее всего сработает:
function setValue(element, value, options) {
if(typeof element === 'string')
element = document.querySelector(element);
options = Object.assign({
bubbles: true
}, options);
element.value = value;
element.dispatchEvent(new Event('input', options));
element.dispatchEvent(new Event('change', options));
return element;
}
setValue('input', 'New Value')
|
Нет те же самые пироги с ней не работает ((
javascript плохо знаю да можно сказать не знаю
Последний раз редактировалось noveek, 20.08.2021 в 06:44.
|
|
20.08.2021, 09:07
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,754
|
|
document.querySelector("input").defaultValue="New Value";
|
|
20.08.2021, 11:39
|
Интересующийся
|
|
Регистрация: 11.09.2013
Сообщений: 17
|
|
Спасибо что никто не помог, сам методом тык допетрил ...
|
|
20.08.2021, 12:23
|
Аспирант
|
|
Регистрация: 09.06.2017
Сообщений: 40
|
|
Сообщение от Lexx32
|
Спасибо что никто не помог, сам методом тык допетрил ...
|
У тебя видимо то решаемая беда у меня нет )
|
|
20.08.2021, 14:19
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,754
|
|
Нужен полный пример, что бы разбираться что там происходит.
|
|
20.08.2021, 17:51
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Попробуй так:
function setValue(element, value, options) {
if(typeof element === 'string')
element = document.querySelector(element);
options = Object.assign({
bubbles: true
}, options);
element.dispatchEvent(new Event('focus', options));
element.dispatchEvent(new Event('keydown', options));
element.dispatchEvent(new Event('keypress', options));
element.value = value;
element.dispatchEvent(new Event('input', options));
element.dispatchEvent(new Event('keyup', options));
element.dispatchEvent(new Event('change', options));
element.dispatchEvent(new Event('blur', options));
return element;
}
setValue('input', 'New Value')
Если не поможет, то там либо какой-то параноик поставил защиту от сгенерированных событий и хрен ты чего добьёшься, либо ты смотришь куда-то не туда. Нужна страница чтоб посмотреть что там такое.
__________________
29375, 35
Последний раз редактировалось Aetae, 14.11.2021 в 21:14.
|
|
|
|