Создание кнопки прямо в в браузере через javascript



  • Может кто сталкивался. Хочу при загрузке страницы создать прямо в ее коде динамически 2 кнопки, и привязать к ним js код onlick, чтобы по нажатию на 1 кнопку в переменную внутри бас сохранялся результат true, а на другую false. Думаю как то сделать это через javascript возможно, может кто подскажет как Пример: 0_1553244730652_3c5253f8-4707-494d-a2e3-19ed18ec99dd-image.png



  • @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 браузера. Пришлось создать до узел, с атрибутом, в который идет записать результата клика. А бас в цикле сканит этот атрибут, получает значение из него.

    Я об этом и говорил, что асинхронно получить значение из браузера не получится.


Log in to reply