Skärpning! getElementById() fungerar utmärkt från IE 5.
Om man använder den ursprungliga varianten:
document.forms[x] eller document.forms['
name'] så hämtar får man en ref till "formobjektet". Antingen läser man av det genom index, dvs vilken ordning formulären kommer på sidan, document.forms[0] är det första. Detta fungerar även i urgamla webläsare. Alternativt använder man t ex document.forms['mittformular'] som ger en ref efter namnet i formulärtaggen (<form
name="mittformular">). Att man IE får en ref även om man inte har angivit name utan istället id är en bugg som gör att det ändå fungerar i t ex IE.
Citat:
Har för mig att document.forms['id'] är mer MSIE specifikt.
|
Det är alltså inte IE specifikt utan det råkar bara fungera i IE, genom (den medvetna?) buggen.
Om man vill referera till enskilda element i ett formulär kan man använda t ex
Kod:
document.forms[0].element[0]
för första formulär-elementet (typ en input eller textarea)
Eller:
Kod:
document.forms[0].element['epost']
för fältet men namn epost i första formuläret.
Man kan alltså läsa t ex värdet i ett fält med både:
Kod:
document.getElementById('epost').value
och
Kod:
document.forms[0].elements['epost'].value
men i första fallet måste man ha en id="epost" i inputen och i andra fallet bara ett name="epost".
caipirinha:
Till:
Citat:
document.getElementById('form_search').url_keyword s.focus();
|
skulle jag föreslå att du använder:
Kod:
document.getElementById('url_keywords').focus();
så att du inte blandar de olika varianterna eftersom det är tvivelaktigt om det fungerar i alla webläsare.