Kom ihåg mig?
Home Menu

Menu


xhtml & javascript

Ämnesverktyg Visningsalternativ
Oläst 2006-04-18, 20:18 #1
caipirinha caipirinha är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 52
caipirinha caipirinha är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 52
Inget panik fel men hur gör man nu? har löst det genom att ha det i onload i body men om man
ska fixa det mitt i en sida tex... Till problemet, får error att name tagen inte får finnas längre som
den iofs inte får i strict läget i form. Men att använda id funkar ju inte, eller? kanske ska skrivas på
något annat sätt. Gamla koden var

printf("<script type=\"text/javascript\">");
printf("document.form_search.form_keyword.focus(); ");
printf("</script>");
caipirinha är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-18, 20:30 #2
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Jo, id fungerar, du får skriva document.forms['id']....osv istället.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-18, 20:52 #3
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Citat:
Originally posted by tartareandesire@Apr 18 2006, 20:30
Jo, id fungerar, du får skriva document.forms['id']....osv istället.
document.getElementById('id')...

Fungerar i alla nya webläsare.

Har för mig att document.forms['id'] är mer MSIE specifikt.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-18, 21:04 #4
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
tartareandesire tartareandesire är inte uppkopplad
Supermoderator
 
Reg.datum: Jan 2004
Inlägg: 11 585
Tror att bägge funkar, åtminstone i IE och Firefox.
__________________
Full-stack developer, free for smaller assignments
tartareandesire är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-18, 21:18 #5
caipirinha caipirinha är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 52
caipirinha caipirinha är inte uppkopplad
Medlem
 
Reg.datum: Jan 2005
Inlägg: 52
Tackar Jonas, detta fungerade super

printf("document.getElementById('form_search').url _keywords.focus();");

Förstår bara varför jag inte testat/gjort detta innan, använder ju det på andra javascript koder *skratt* som
typ

document.getElementById(elementid).style.display = 'none';
caipirinha är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-19, 03:02 #6
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
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.
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-04-19, 14:38 #7
Anders Larssons avatar
Anders Larsson Anders Larsson är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 3 205
Anders Larsson Anders Larsson är inte uppkopplad
Klarade millennium-buggen
Anders Larssons avatar
 
Reg.datum: Jan 2004
Inlägg: 3 205
Man bör dessutom lägga all javascript i externa filer och inte använda sig av några onClick ovs i sin htmlsida, utan istället attacha det från JS-filen.

Måste springa iväg nu, men jag kan lägga upp ett exempel senare.
Anders Larsson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 09:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017