Получить значение переменных из javascript или html

222
06 июля 2022, 14:50

Я использую flask для создания будильника с web интерфейсом. Я создал вот такой html код:

<!-- (A) CURRENT TIME -->
<div id="ctime">
    <link rel="stylesheet" href="{{ url_for('static', filename='styles/js-alarm-clock.css') }}"> >
    <script src="{{ url_for('static', filename='js-alarm-clock.js') }}"></script>
  <h1 class="header">THE CURRENT TIME</h1>
  <div class="square">
    <div class="digits" id="chr">00</div>
    <div class="text">HR</div>
  </div>
  <div class="square">
    <div class="digits" id="cmin">00</div>
    <div class="text">MIN</div>
  </div>
  <div class="square">
    <div class="digits" id="csec">00</div>
    <div class="text">SEC</div>
  </div>
</div>
<!-- (B) SET ALARM -->
<div id="tpick">
  <h1 class="header">
    SET ALARM
  </h1>
  <div id="tpick-h"></div>
  <div id="tpick-m"></div>
  <div id="tpick-s"></div>
  <div>
    <input type="button" value="Set" id="tset"/>
    <input type="button" value="Reset" id="treset" disabled/>
  </div>
</div>
<!-- (C) ALARM SOUND -->
<audio id="alarm-sound" loop>
  <source src="wake-up-sound.mp3" type="audio/mp3">
</audio>

Также я сделал javascript

var ac = {
  init : function () {
  // ac.init() : start the alarm clock
    // Get the current time - hour, min, seconds
    ac.chr = document.getElementById("chr");
    ac.cmin = document.getElementById("cmin");
    ac.csec = document.getElementById("csec");
    // The time picker - Hr, Min, Sec
    ac.thr = ac.createSel(23);
    document.getElementById("tpick-h").appendChild(ac.thr);
    ac.thm = ac.createSel(59);
    document.getElementById("tpick-m").appendChild(ac.thm);
    ac.ths = ac.createSel(59);
    document.getElementById("tpick-s").appendChild(ac.ths);
    // The time picker - Set, reset
    ac.tset = document.getElementById("tset");
    ac.tset.addEventListener("click", ac.set);
    ac.treset = document.getElementById("treset");
    ac.treset.addEventListener("click", ac.reset);
    // The alarm sound
    ac.sound = document.getElementById("alarm-sound");
    // Start the clock
    ac.alarm = null;
    setInterval(ac.tick, 1000);
  },
  createSel : function (max) {
  // createSel() : support function - creates a selector for hr, min, sec
    var selector = document.createElement("select");
    for (var i=0; i<=max; i++) {
      var opt = document.createElement("option");
      i = ac.padzero(i);
      opt.value = i;
      opt.innerHTML = i;
      selector.appendChild(opt);
    }
    return selector
  },
  padzero : function (num) {
  // ac.padzero() : support function - pads hr, min, sec with 0 if <10
    if (num < 10) { num = "0" + num; }
    else { num = num.toString(); }
    return num;
  },
  tick : function () {
  // ac.tick() : update the current time
    // Current time
    var now = new Date();
    var hr = ac.padzero(now.getHours());
    var min = ac.padzero(now.getMinutes());
    var sec = ac.padzero(now.getSeconds());
    // Update current clock
    ac.chr.innerHTML = hr;
    ac.cmin.innerHTML = min;
    ac.csec.innerHTML = sec;
    // Check and sound alarm
    if (ac.alarm != null) {
      now = hr + min + sec;
      if (now == ac.alarm) {
        if (ac.sound.paused) {
          ac.sound.play();
        }
      }
    }
  },
  set : function () {
  // ac.set() : set the alarm
    ac.alarm = ac.thr.value + ac.thm.value + ac.ths.value;
    ac.thr.disabled = true;
    ac.thm.disabled = true;
    ac.ths.disabled = true;
    ac.tset.disabled = true;
    ac.treset.disabled = false;
  },
  reset : function () {
  // ac.reset() : reset the alarm
    if (!ac.sound.paused) {
      ac.sound.pause();
    }
    ac.alarm = null;
    ac.thr.disabled = false;
    ac.thm.disabled = false;
    ac.ths.disabled = false;
    ac.tset.disabled = false;
    ac.treset.disabled = true;
  }
};
// INIT - RUN ALARM CLOCK
window.addEventListener("load", ac.init);

И также я сделал функция во flask, чтобы при переходе по ссылке можно было бы поставить будильник. У меня вопрос, как я могу в питоне получить время, которое поставил пользователь, нажав кнопку set?

READ ALSO
Как сравнить содержимое нескольких элементов с основным?

Как сравнить содержимое нескольких элементов с основным?

Имеется div в котором есть дочерние элементыВ дочерних элементах написано время (к примеру: 13:00, 14:00, 15:00), везде разное

166
Сравнение целых и остатков

Сравнение целых и остатков

Посчитайте сумму чисел на промежутке от 1 до 1000 включительноПотом посчитайте целую часть от деления этой суммы на число 1234, а так же остаток...

222
YouTube API. rel: 0 и loop: 1 - не работает

YouTube API. rel: 0 и loop: 1 - не работает

Видео воспроизводится, но не по кругу и показывает похожие в концеРаньше работало

177
Для чего нужны эти 2 строки кода java?

Для чего нужны эти 2 строки кода java?

Код должен выглядеть так:

162