checkbox EtherCard.h
- Войдите на сайт для отправки комментариев
Втр, 29/03/2016 - 00:19
Люди, ктонибудь может скинуть пример применения чекбокса?
нашел применение в одном из примеров к EtherCard.h, но категорически не понял...
Что именно интересует? Как в HTML чекбокс сделать - если ты про вебморду? Или - как получить его значение? Или - ещё чего? Расшифруй - что хочешь, тогда будет понятнее. Пока - нифига не понял.
пока излагал мысль решил что лучше использовать выпадающий список. выпадающим списком будет выбираться режим работы реле (ручной,включение по датчику, охлаждение, нагрев). ну по сути не важно что за режимы. пусть будет 1, 2, 3 и 4.
Потихоньку модернизирую под себя код Дмитрия Осипова
Покачто в конце void homePage приписываю что хочу использовать...
Ввод текста прикрутился нормально
bfill.emit_p(PSTR("<form><input type=text name=ttemp2 size=10> <input type=submit value=ОК> </form>"));вот с чекбоксом непонятно... хоть он и не нужен, на будущее хочу разобраться.
bfill.emit_p(PSTR("<form><input type=checkbox name=ttemp2333 size=10> <value=ОК> </form>")); bfill.emit_p(PSTR("<form><input type=checkbox name=c value='1'> ""</form>"));Результатом этих строчек на страничке появляются чекбоксы, в них можно ставить/убирать галки... но как сделать чтобы отсылалось условно 1/0 в зависимости от галки.
пс: буду мудрить со списком сейчас...
или
Только имей в виду, что в форме отправляется только checked состояние. Если галка снята - отправится пустая форма.
Спасибо! заодно и с выпадающим списком помогли)
Новая проблемка... нужно будет использовать несколько выпадающих списков в разных местах(разные ячейки таблицы).
Одна строка работает (вторая закомментирована), страница загружается
bfill.emit_p(PSTR("<form> <select name=modeR1 size=1 onchange=this.form.submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> </form>")); // bfill.emit_p(PSTR("<form> // <select name=modeR2 size=1 onchange=this.form.submit();> // <option value=1>1</option> // <option selected value=2>2</option> // <option value=3>3</option> // <option value=4>4</option> // </select></form>"));Если вторую раскомментировать, то страница уже не загружается (размер буфера увеличил, всёравно...)
bfill.emit_p(PSTR("<form> <select name=modeR1 size=1 onchange=this.form.submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select></form>")); bfill.emit_p(PSTR("<form> <select name=modeR2 size=1 onchange=this.form.submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> </form>"));Страница загружается и оба списка появляются если засунуть в общие (форм) (/форм)
bfill.emit_p(PSTR("<form> <select name=modeR1 size=1 onchange=this.form.submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> <select name=modeR2 size=1 onchange=this.form.submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> </form>"));но тогда в ответ (как называются данные, которые отправляются на сервер при нажатии на ссылку?) прилетает http://192.168.1.12/?modeR1=3&modeR2=2, т.е. сразу от обоих списков. впринципи разделить данные смогу... но мне будет нужно в разных местах кода размещать эти выпадающие списки
ПС: у меня всё в одну строчку пишется, поэтому ковычек минимум. тут разбил на строки для удобства чтения
При этом перед этими строками идут две идентичные друг дружке в индифидуальных тегах <form></form>
bfill.emit_p(PSTR("<form><input type=text name=ttemp2 size=10> <input type=submit value=ОК> </form>")); bfill.emit_p(PSTR("<form><input type=text name=ttemp3 size=10> <input type=submit value=ОК> </form>"));и в браузере отлично отображается 2 тестовых окошка
убираю
onchange=this.form.submit(); и грузитсяпобедил. в таком варианте работает как надо
bfill.emit_p(PSTR("<form> <select name=modeR1 size=1 onchange=submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select> </form>")); bfill.emit_p(PSTR("<form> <select name=modeR2 size=1 onchange=submit();> <option value=1>1</option> <option selected value=2>2</option> <option value=3>3</option> <option value=4>4</option> </select></form>"));не победил... добавляю третью аналогичную строчку - страничка не грузится. буфер увеличил, толку нет. как можно посмотреть в чем причина?
снова если засуну 3 строки в общие теги <form></form>, то грузится.
если каждая строка в индивидуальных тегах <form></form>, не грузится страничка...
Полагаю обратным слэшем должны строки заканчиваться
bfill.emit_p(PSTR("<form>\ <select name=modeR1 size=1 onchange=submit();>\ <option value=1>1</option>\ <option selected value=2>2</option>\ <option value=3>3</option>\ <option value=4>4</option>\ </select>\ </form>"));я ж написал что построчно только тут выкладываю, чтоб читать было удобнее всем.
в коде у меня выглядит так:
bfill.emit_p(PSTR("<form><select name=modeR1 size=1 onchange=submit();><option value=1>1</option><option selected value=2>2</option><option value=3>3</option><option value=4>4</option></select></form>"));вот так работает:
bfill.emit_p(PSTR("<form><select name=R1mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>")); bfill.emit_p(PSTR("<form><select name=R2mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>")); //bfill.emit_p(PSTR("<form><select name=R3mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>"));вот так уже не работает:
bfill.emit_p(PSTR("<form><select name=R1mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>")); bfill.emit_p(PSTR("<form><select name=R2mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>")); bfill.emit_p(PSTR("<form><select name=R3mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>"));вот так работает, но это не то что нужно. не смогу распихать в разные части кода. тут просто совместил 3 строчки в общих тегах <form></form>
bfill.emit_p(PSTR("<form><select name=modeR1 size=1 onchange=submit();><option value=1>1</option><option selected value=2>2</option><option value=3>3</option><option value=4>4</option></select><select name=R3mode size=1 onchange=submit();><option value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select><select name=modeR2 size=1 onchange=submit();><option value=1>1</option><option selected value=2>2</option><option value=3>3</option><option value=4>4</option></select></form>"));работает:
bfill.emit_p(PSTR("<form><select name=R1mode size=1 onchange=submit();><option selected value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option></select><select name=R2mode size=1 onchange=submit();><option selected value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option></select><select name=R3mode size=1 onchange=submit();><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option></select></form>"));не работает:
bfill.emit_p(PSTR("<form><select name=R1mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select><select name=R2mode size=1 onchange=submit();><option selected value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select><select name=R3mode size=1 onchange=submit();><option value=1>Ручной</option><option value=2>По датчику</option><option value=3>Обогрев</option><option value=4>Охлаждение</option></select></form>"));разница в названии вариантов. в первом варианте цифры, во втором слова на кирилице.
какой-нибудь памяти/пропускной способности не хватает? это ограничение по железу?
блин голова опухла...
пс: проверяю на хроме, я.браузере, ИЕ новом
пс2: в хроме и ИЕ вместо кирилицы кракозябры. в я.браузере норм. что странно, т.к. в основе я.браузера хром...
Чтобы изчезли "краякозаблы"
Нужно заменить
на