A cím elég kacifántos lett, de nem tudtam mást kitalálni. Gyors és rövid JavaScript tipp azoknak, akik valamely JS Framework-öt (Prototype, JQuery, MooTools) használják…
Egy regisztrációs formon dolgoztam, ahol minden input id alapon van elnevezve, tehát a name attributum nincs beállítva.
A form elküldése viszont itt éppen „hagyományos” post útján történik, tehát kell az a fránya name beállítás is, ráadásul elemenként. Gyors és kényelmes megoldást találtam ki (szerintem nem elsőként, de azért egy kicsit engedtessék meg, hogy örömködjek).
Szóval, én pont MooTools-t használok, de szinte minden (ha nem minden) keretrendszerben elérhető ugyanezzel a szintakszissal (de borzasztó így leírva) a végeredmény.
A kód:
var elements = $$('input'); for(i=0; i < elements.length; i++) $(elements[i]).name = $(elements[i]).id;
Nem vagyok (még) képben, hogy melyik keretrendszernél van még domready függvény, nálam ez is használatos, ezen belül van a kód, mert ez garantálja, hogy akkor fut le, ha felépült az oldal, és minden elem jelen van:
window.addEvent('domready', function(){ var elements = $$('input'); for(i=0; i < elements.length; i++) $(elements[i]).name = $(elements[i]).id; });
Itt egy alap html form hozzá, bár talán érthető, ahogy leírtam. 🙂
Ahogy írom a bejegyzést, jövök rá a hibáimra. 🙂 Pl. azt még nem tudom, hogy textarea esetében működik-e, de úgy hiszem nem, hiszem az összes input típusú elemet érem el a
var elements = $$('input');
sorral. Szóval még van mivel játszani.
Gondoltam gyorsan megosztom. 🙂