1. Mezery, tabulátory a přechody na nové řádky
- Mezery používáme mezi klíčovým slovem "if" a levou závorkou, nalevo i napravo od operátoru "=", za čárkou jako oddělovačem proměnných nebo parametrů funkcí a v dalších obdobných případech.
- Tabulátory používáme pro odsazení kódu od levého okraje na novém řádku. Jeden tabulátor odpovídá dvěma mezerám a v editoru JavaScriptu slouží jako zkratková klávesa pro jejich vložení. Každá úroveň zanoření kódu vyžaduje jeden tabulátor (dvě mezery). Zdrojový kód na první úrovni se neodsazuje.
- Entery – přechody na nový řádek – používáme před levou složenou závorkou "{" i za ní, stejně tak před pravou složenou závorkou "}" i za ní.


2. Jednoduché apostrofy
- Jako výchozí oddělovač řetězců vždy používáme jednoduché apostrofy. Důvodem je možnost kombinace JavaScriptového kódu se serverovými funkcemi – dvojité uvozovky si ponecháváme pro volání serverových funkcí.
- Parametry serverových funkcí musí být často uzavřeny do dvojitých uvozovek, protože mohou obsahovat čárku, která je jinak považována za oddělovač parametrů. Texty uvnitř dvojitých uvozovek jsou považovány za řetězcové konstanty a nedochází v nich k nahrazování serverových funkcí, pouze proměnných.
- Jedinou výjimkou jsou parametry funkcí "SQL" a "SQLARRAY", uvnitř kterých je možné volat serverové funkce, přestože jsou jejich parametry uzavřeny do dvojitých uvozovek.



3. Středníky
- JavaScriptový kód definovaný v událostech ovládacích prvků musí obsahovat středník na konci.


- Jedinou výjimkou je JavaScriptový kód používaný v ovládacím prvku "ActionButtons" u tlačítek "Uložit", "Smazat" a "Zpět". Tento kód naopak středník na konci obsahovat nesmí, protože je ve výsledném zdrojovém kódu stránky použit jako návratová hodnota podmínky.


4. Tlačítka a postbacky
- Tlačítka nastavená jako "Skript", "Tisk do šablony", "Otevřít nahlížecí stránku" nebo "Otevřít editační formulář" nejprve spustí JavaScriptový kód definovaný v poli "Klient" (pokud je definován). Následně vyvolají postback, resp. submit formuláře metodou POST – dojde k odeslání všech hodnot vyplněných ve formuláři včetně informace o tlačítku, které postback vyvolalo.
- Na straně serveru je poté spuštěn odpovídající serverový skript. Po jeho dokončení je uživatel vrácen zpět do formuláře. Po dobu zpracování je obsah formuláře skryt a v horní části je zobrazen text "Prosím čekejte…".

- Kliknutí na tlačítko je možné vyvolat programově pomocí JavaScriptové funkce "bt_Click(string id)". Z JavaScriptu je možné vyvolat pouze jeden postback v jednom okamžiku – opakované nebo paralelní volání funkce "bt_Click" je vyhodnoceno jako chyba a NET Genium provede pouze první postback v pořadí.
- Pro aktualizaci formuláře slouží JavaScriptová funkce "form_Update()", která rovněž používá postback a skryté tlačítko "btUpdate" k opětovnému načtení všech ovládacích prvků formuláře.
5. Funkce display() a skrývání částí formuláře
- Většina editačních formulářů používá podmíněné skrývání částí formuláře v závislosti na hodnotách vyplněných v ovládacích prvcích (texty, checkboxy apod.). Typicky se nastavuje vlastnost "style.display" u elementů "div", "table" a dalších.
- Z tohoto důvodu je zavedeným zvykem mít ve formuláři definovanou JavaScriptovou funkci "function display() {}". Vzorový kód lze získat přímo v editoru JavaScriptu zadáním názvu "display()" nebo jeho výběrem z rozbalovacího seznamu.
function display()
{
if (adminMode) return;
}
display();
- Proměnná "adminMode" určuje, zda je aktivní administrátorský režim. Pokud administrátor použije náhled formuláře nebo nahlížecí stránky, má proměnná "adminMode" hodnotu „false“, přestože je administrátorský režim aktivní.
- Veškeré skrývání částí formuláře musí být umístěno až za řádkem "if (adminMode) return;", aby měl administrátor vždy k dispozici kompletní zobrazení formuláře.
- Volání funkce "display();" na posledním řádku je nezbytné k tomu, aby se skrývání provedlo již při prvotním renderování formuláře.
- Funkci "display();" je dále nutné volat z události "OnChange" u všech ovládacích prvků, jejichž hodnota má vliv na viditelnost částí formuláře.
- Příklad obvyklé implementace funkce "display()":
function display()
{
if (adminMode) return;
D1.style.display = jsDisplay(control_GetValue(#ng_stav#) == 'Nový');
D2.style.display = jsDisplay(#ng_zobrazit#.checked);
D3.style.display = jsDisplay(control_GetValue(#ng_stav#) == 'Nový' && #ng_zobrazit#.checked);
}
display();