id vs. name

jsem trochu mimo. chtěl jsem konečně napsat zcela čistý xhtml kód a když v inputech použiju name, tak je všechno v pořádku, ale když správně id, tak se ty proměnné nepředají. nechápu, já myslel, že v tom není rozdíl.
name u inputu je v XHTML 1.1 OK.
tak to je dobře to jsem nevěděl, dík.
name je napředávání ven z formuláře, id je na případnou identifikaci třeba pro JS. Obojí tam můža být vedle sebe, obojí může mít stejný obsah. Akorát u toho id je omezení, že v rámci stránky musí být jedinečné...
Resp. ID má souvislost s DOM, tudíž se skripty na serveru nemá nic společnýho.
To já vím, páč to tak už dlouho dělám, ale nevím kde jsem četl, že name bylo v xhtml nahrazeno tagem id. Asi si to s něčím pletu.
stip: U ostatnich elementu afaik jo. Formularove prvky name porad maji.
Jo ták, už je mi to jasné, name zůstalo akorát u inputů, kdežto jinde bylo nahrazeno pomocí id. No pak ale nerozumím zcela připomínce, že id musí být jedinečné. Co když mám více prvků, kterým chci nastavit stejnou hodnotu, třeba pozadí v závislosti na navigaci. Potom je logické jim dát

<span class="menu" id="<?echo $akce;?>">

hodnotu proměnné $akce pak měnit, třeba z "on" a "off" a v .css pak napsat:

span.menu {}
#on {background-color: green;}
#off {background-color: red;}
name nahrazeno id platí u relativních odkazů na stránce. <a name="neco"> už skutečně v xhtml není. Teď se odkazuje třeba na <h1 id="nadis"> ... <a href="#nadpis">na nadpis</a>.
stip: Id jedinecne byt musi, jelikoz slouzi pro identifikaci elementu v ramci DOM. Na to, cos ted psal, se pouzivaji CSS tridy.

.trida

{styly}

a v HTML

<div class="trida"> blabla </div>

To se muze samozrejme opakovat kolikrat chces.
Pokud jde o ten priklad menu on/off soucasne prohlizece v pohode zvladaji class="menu on" resp class="menu off", cilize vice trid. Ale nevim od jake verze browseru, zatim jsem se tomu spis vyhybal. V DOM je pak element.className="menu on" normalne string, parsovatelny.