void handleForm() {
String radio = server.arg("Rele");
Serial.println(radio);
server.sendHeader("Location", "/");
server.send(302, "text/plain", "Updated-- Press Back Button");
delay(500);
}
Funguje to.
Na ser. monitor se vypisuje value zaškrtnuteho radio.
Když ale zaškrtnu nějake radio a klknu na button, resetuje se mi stranka a všechny radio jsou prazdne.
Uplně dole.
Q1. Is it possible to stay on same page after pressing button?
ANS: Yes it is possible using server.sendHeader. Add these lines at the bottom of action page handler function.
server.sendHeader(“Location”, “/”);
server.send(302, “text/plain”, “Updated– Press Back Button”);
Založen: Nov 20, 2012 Příspěvky: 1453 Bydliště: Praha
Zaslal: út květen 19 2020, 21:23 Předmět:
Na tom není nic špatně, chová se to jak má. Po stisku tlačítka dojde k načtení stránky uvedené v atributu action v tagu form. Jestli jako odpověď posíláš stále stejné html, tak prostě nic zaškrtnuté nebude.
jak už jsem psal, zapni si v prohlížeči nástroje pro vývojáře. Pak se podívej na komunikaci prohlížeče a serveru. Bude ti to hned jasné.
Edit: a nějak mi není jasné, proč by se mělo změnit toto chování při použití dočasného přesměrovaní v hlavičce.
if (server.hasArg("vehicle1"))
{
String message = server.arg("vehicle1");
Serial.println(message);
}
server.sendHeader("Location", "/");
server.send(302, "text/plain", "Updated-- Press Back Button");
delay(500);
}
Toto take načita tu stranku znovu a mužu zaškrtnout všechny checkboxy.Proč?
Až po kliknuti na Submit se vše vyresetuje.
To pak je lepši pořešit vše přes JavaScript.
Založen: Nov 20, 2012 Příspěvky: 1453 Bydliště: Praha
Zaslal: st květen 20 2020, 11:46 Předmět:
Ten příklad, který jsem dával naposled, neposílá obsah tagu form pomocí submit. Takže díky tomu se stránka v prohlížeči nenačte znovu. Tlačítko submit neresetuje stránku, dojde k jejímu novému načtení ze serveru (ESP). Správné řešení by bylo načítat ze serveru správný obsah stránky. Tj. do posílaného HTML doplnit stavy checkboxů. Když to takhle neuděláš, tak vzápětí narazíš na další problém: při prvním zobrazení stránky nemusí stav checkboxů odpovídat reálnému stavu relé.
Dá se to řešit dvěma způsoby:
• u jednoduchých projektů generovat správné HTML (tento případ)
• u složitých projektů to dělám tak, že mám statický obsah stránky uložen v SPIFFS. Po jejím načtení prohlížečem (např. událost onLoad tagu body) načtu správný stav elementů. Díky tomu je velmi dobře oddělen vzhled stránky od jejího obsahu a pro změnu vzhledu není nutné překládat a nahrávat nový program do ESP.
Důležité je si uvědomit, že HTTP protokol neudržuje nikdy spojení mezi serverem a prohlížečem. Vždy je to dotaz a odpověď. Prostě je to bezestavový protokol se všemi (ne)výhodami. Ale jak už jsem psal, začni používat nástroje pro vývojáře, ulehčí ti to život
Založen: Dec 12, 2005 Příspěvky: 2260 Bydliště: SR, Poprad
Zaslal: st květen 20 2020, 13:03 Předmět:
este je tu jedna moznost, nieco medzi tym. dat ciste html, kde by sa js posielal ajaxom kazdu sekundu request, ktory by v jednoduchej forme vracal stavy. a potom uz len nastavit checkbox a pripadne aj farbu podla stavu. a rovnako by sa cez ajax odosielala zmena.
je to male, a mas do sekundy aktualny stav, ak by napr rele spinal niekto z ineho pocitaca. _________________ No vidis, a tak si sa bal
Časy uváděny v GMT + 1 hodina Jdi na stránku Předchozí1, 2
Strana 2 z 2
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.