 |
Mycket flitig postare
|
|
Reg.datum: Dec 2006
Inlägg: 678
|
|
Mycket flitig postare
Reg.datum: Dec 2006
Inlägg: 678
|
Hej och hallå, - Ta bort onclick från dina options och ändra till onchange istället. Är osäker på hur olika webbläsare hanterar onclick på options men det vedertagna sättet att hantera ändring av selectlistor är onchange. Eller ännu bättre - lyssna inte på nåt event alls utan låt användaren själv bestämma när ändringen ska genomföras genom att stoppa in en submit. Använder man onchange blir det betydligt krångligare att hänga med på vad som händer när man navigerar m.h.a. tangentbordet och/eller skärmläsare.
- Värdet för select-listor hämtas genom att känna av vald rad och hämta dess värde. document.getElementById("feed").value är alltså fel eftersom select-elementet i sig inte har något värde.
Ändra till nåt liknande:
Kod:
var form = document.getElementById("feeds");
var feeds = form.elements["feed"];
var selectedFeed = feeds.options[feeds.options.selectedIndex].value;
- Varför tittar du inte på de JS-libbar som finns? Du kommer spara in tid på det - garanterat. Är man inte så bra på Javascript blir koden lätt rörig och ostrukturerad. Plus att man slipper gå på samma nitar och buggar som andra redan gjort. Jag är inte så värst bra på Javascript själv men tycker att det blir betydligt bättre struktur om man använder t.ex. Prototype. I längden vill man ha ren, prydlig men främst av allt läsbar kod som är lätt att underhålla och då hjälper det ofta att använda sig av det gurusarna knåpat ihop.

- Sen tycker jag att du borde fundera två gånger till över hur du namnger dina id:n - "feed" är på tok generellt för min smak - men det kanske är subjektivt. I alla fall, det är ju en lista du har där så "availableFeeds" eller "feedList" vore mer beskrivande. Använder du upp generella termer kommer du sitta där en vacker dag och ångra dig när det verkar vettigare på en annan plats. Nåja, det kanske bara är jag som tänker för mycket igen.
HTH
|