webForumDet fria alternativet

Firefox vs IE Script problem

JavaScript

4 svar · 322 visningar · startad av Fraggel

Medlem sedan sep. 2003301 inlägg
Frågan#1

Funkar i IE men inte i Firefox.

function chkConfirm()
{
  if(accept.checked)
  {
    document.forms(0).submit();
  }
  else
  {
    alert('Pleas check the confirm checkbox to continue');
    
  }
}

Firefox verkar inte känna av min kontroll accetp ( if(accept.checked) genererar felet)

Medlem sedan dec. 20025 483 inlägg
#2

Använd document.forms["namn_på_formulär"].elements["namn_på_checkbox"].checked.

Medlem sedan sep. 2003301 inlägg
#3

Tackar

Medlem sedan apr. 20031 660 inlägg
#4

HEJ!

Peter S skrev:

Använd document.forms["namn_på_formulär"].elements["namn_på_checkbox"].checked.

Varför använder du inte document.getElementById('id').value eller document.getElementsByName('namn').value istället?

Det finns säkert någon regel för när man ska använda vilket (förutsatt att id/name finns alltså) som jag alltså frågar om!

Medlem sedan dec. 20025 483 inlägg
#5

J.N. skrev:

HEJ!Varför använder du inte document.getElementById('id').value eller document.getElementsByName('namn').value istället?

Det finns säkert någon regel för när man ska använda vilket (förutsatt att id/name finns alltså) som jag alltså frågar om!

Hejsan! :)

Anledningen är att den metod jag använde är mer kompatibel med äldre webbläsare. Visst, ofta finns det en gräns för hur långt bakåt man vill sträcka sig, men när det gäller exempelvis formulär, bilder och några till, tenderar jag att vilja använda forms[] och images[].

Sedan är det vanligt att man vid t.ex. formulärvalidering använder onsubmit="return v(this)" (där this refererar till formuläret) och sedan i den funktionen utnyttjar elements-egenskapen. Det är väldigt smidigt tycker jag. :)

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)