изменение переменной bool с помощью переключателя

#javascript #html #arduino #webserver

#javascript #HTML #arduino #веб-сервер

Вопрос:

у меня есть асинхронный веб-сервер ESP32, который я хочу использовать для управления некоторыми переменными.

Для этой проблемы переключатели кажутся хорошей идеей, поскольку они выглядят красиво, и у меня много переменных (bool), поэтому я думаю, что простые формы ввода не будут выглядеть красиво.

Поскольку у меня нет реального опыта работы с javascript, я хотел получить некоторую поддержку вместо того, чтобы пытаться бесчисленное количество раз, а затем просить здесь о помощи. Просто знайте, что я программирую все в Arduino IDE.

 <!DOCTYPE HTML>
<html>
  <head>
  <title>ESP Input Form</title>
  </head>
  <body>

  <h4>Show Peaks:</h4>
  <form action="/get" class="radio">
    <input type="radio" id="on" name="show_peaks" value="on">
    <label for="on">On</label>
    <input type="radio" id="off" name="show_peaks" value="off">
    <label for="off">Off</label>
    <input type="submit" value="Submit" onclick="RadioValidator()">
  </form>

   <script>

  function RadioValidator() {
      if(document.getElementById('on').checked) {
        show_peaks = true;  
      }
      else if(document.getElementById('off').checked) {
        show_peaks = false; 
      }
    }

  </script>
  
  </body>
</html>
 

Этот javascript очень простой, и я мог бы не использовать точно такую же строку, но возможно ли что-то подобное? Должен ли я сделать что-то другое?

Любая помощь приветствуется, спасибо

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

1. JavaScript выполняется на клиенте, а не на сервере.

2. Вам не нужен JavaScript. Кнопка отправки отправит значение кнопки на сервер, после чего она сможет обновить свою переменную.

3. Но если вы не хотите перезагружать страницу, вы можете использовать AJAX.

4. Я использую эту часть кода на ESP32, который также является веб-сервером. Как бы я использовал AJAX? Я только сейчас кое-что читаю об этом

5. Даже если браузер и сервер находятся на одном компьютере, это отдельные процессы, они не используют одни и те же переменные JavaScript.