как параметр полученный из веб формы использовать как имя переменной
- Войдите на сайт для отправки комментариев
Чт, 23/03/2017 - 20:14
Привет Всем.
Есть веб сервер на nodemcu
на нем есть форма ввода часть кода :
input id="DMinTempId" value="{{DMinTemp}}" pattern="[0-9]{1,2}"
и сабмит
input type="submit" id="" name="7" value="Сохранить" onclick="set(this);"
на онклик вызывается фунция выполняющая вормирование запроса на nodemcu:
var elem = document.getElementById(submit.id+"Id").value;
server = "/set?button="+submit.id+"&data="+elem+"&eeprom="+submit.name;
и результатом выполнени яесть строка в формате :
/set?button=DMinTemp&data=32&eeprom=7;
на nodemcu мы слушаем запрос и выполняем действия :
String button = HTTP.arg("button");
byte data = HTTP.arg("data").toInt();
byte eeprom = HTTP.arg("eeprom").toInt();
помощь нужна в том чтобы суметь использовать значнеи строковой переменной button="DMinTemp" как имя глобальной переменной в теле скетча DMinTemp.
подскажите, есть ли механизмы позволяющии это сделать ?
обявляете
A{}
Присваиваете так
A[button]=data
При упоминании в коде A["DMinTemp"] оно будет 32.
Но это очень ресурсоемкое.
Но вобще все делаете плохо. Вы я так вижу вебдизайнер?! Не пишите код с такими подходами, толку не будет. Ресурсы ESP8266 сильно ограничены. Тут вам не сайть монструозный лепить, сбежать с оплатой под матюки пользователей не получится.
Спасибо за вариант решения
првоерю расскажу что выйдет
я не разработчик мой профиль - руководить.
проект не коммерческий, хочу улучшить желищный вопрос своему питомцу в терариуме :)
автоматизировав климат и обеспечить визуализацию состояний датчиков и приборов.
не могу самостоятельно применить вашу мысль, прошу еще пояснений на моем пример примере
int var{};
String button = HTTP.arg("button");
int data = HTTP.arg("data").toInt();
var[button] = data;
компилятор говрит что мы не правы
а вы вобще на чем пишете))) Мой совет для Lun который в nodemcu. А Ваш текст на сишный похож.
//хочу улучшить желищный вопрос своему питомцу в терариуме
Святое дело.
//я не разработчик ..
Так не увлеуайтесь лишними абстракциями. Заведите просто нужную переменную с удобным фиксированім именем, нужно DMinTemp, так и пишите int DMinTemp; Будет их десяток или два - столько заведете. Передавать имя с формы плохая идея. Это возможно (нужен будет еще список для хранения имен и как-то связать их с значениями), но сложно и медлено работает.
я черчез Arduino IDE делаю
в простом виде я могу сделать это не составляет труда, хотел красиво компактно у меня около 25 переменных прийдется плодить однотипный код в большом кол-ве
думал как наду решение черчез обьявления указателя на переменную
буду искать еще вараинты время еще есть хочу лучше чем куча однотипного кода