Создание кнопки прямо в в браузере через javascript
-
Может кто сталкивался. Хочу при загрузке страницы создать прямо в ее коде динамически 2 кнопки, и привязать к ним js код onlick, чтобы по нажатию на 1 кнопку в переменную внутри бас сохранялся результат true, а на другую false. Думаю как то сделать это через javascript возможно, может кто подскажет как Пример:
-
@derx2012 said in Создание кнопки прямо в в браузере через javascript:
Может кто сталкивался. Хочу при загрузке страницы создать прямо в ее коде динамически 2 кнопки, и привязать к ним js код onlick, чтобы по нажатию на 1 кнопку в переменную внутри бас сохранялся результат true, а на другую false. Думаю как то сделать это через javascript возможно, может кто подскажет как Пример:
Не совсем понятно для чего это. Кстати нечто подобное я уже реализовывал
Создать кнопочку не сложно, как и привязать к нему событие. Основная проблема это асинхронно получить информацию о клике.
Самый простой способ в цикле проверять значение элемента страницы.
-
Это не совсем то что мне надо. В вашем примере создается окошко отдельное, не привязанное к окну браузера. Мне надо чтобы человек при запуске скрипта посмотрел на страничку, если она его устраивает, то он нажал кнопку да, если нет, то нажал кнопку нет, тоесть нужно привязка к окну брузера, для визуального анализа страницы юзером и выбора ответа. Полуавтоматическая работа
-
@fox По поводу получения информации о клике, я просто создам пустую переменную, далее запущу загрузку страницы и отрисовку кнопки с событием, при событии клика запись в переменную баса значения. А сам бас в этом время в цикле ожидает пока в переменную будет записано значение
-
@derx2012 Эм, так есть Взаимодействие с пользователем для таких случаев.
-
Вы такое делали? Если делали то могли просто сказать как, я прекрасно знаю об этом, и пробовал там такое сделать. Если бы получилось я бы сюда не написал
-
@fox Кнопки добавил, а вот привязать событие клика не получается
var saveButton = document.createElement("button"); saveButton.id = "savebutton"; saveButton.appendChild(document.createTextNode('Сохранить')); document.getElementsByTagName("header")[0].appendChild(saveButton); var removeButton = document.createElement("button"); removeButton.id = "removebutton"; removeButton.appendChild(document.createTextNode('Пропустить')); document.getElementsByTagName("header")[0].appendChild(removeButton);
Пробовал так
$("#savebutton").click = function(){[[TEST]] = "1"}; $("#removebutton").click = function() {[[TEST]] = "2"};
И так
document.getElementById("savebutton").onclick = function(){[[TEST]] = "1"}; document.getElementById("removebutton").onclick = function() {[[TEST]] = "2"};
-
Придумал решение. Так как записывать в переменные баса нельзя напрямую из js браузера. Пришлось создать до узел, с атрибутом, в который идет записать результата клика. А бас в цикле сканит этот атрибут, получает значение из него.
var result = document.createElement("p"); result.id = "resultclick"; result.setAttribute("status","no"); document.body.appendChild(result); var saveButton = document.createElement("button"); saveButton.id = "savebutton"; saveButton.appendChild(document.createTextNode('Сохранить')); saveButton.onclick = function () {result.setAttribute("status","save")}; document.getElementsByTagName("header")[0].appendChild(saveButton); var removeButton = document.createElement("button"); removeButton.id = "removebutton"; removeButton.onclick = function () {result.setAttribute("status","remove")}; removeButton.appendChild(document.createTextNode('Пропустить')); document.getElementsByTagName("header")[0].appendChild(removeButton);
-
@derx2012 said in Создание кнопки прямо в в браузере через javascript:
Так как записывать в переменные баса нельзя напрямую из js браузера. Пришлось создать до узел, с атрибутом, в который идет записать результата клика. А бас в цикле сканит этот атрибут, получает значение из него.
Я об этом и говорил, что асинхронно получить значение из браузера не получится.