[ noviKorisnik @ 20.11.2006. 12:06 ] @
Upravo sam objavio blogpost Debug u svetu trivijala - form.submit is not a function!, eto kao uvod, da nastavimo malo i ovde ... Recimo ...
Code:
<div id="win" onclick="alert (win.nodeName);">win</div>
<div id="window" onclick="alert (window.nodeName);">window</div>
<div id="document" onclick="alert (document.nodeName);">document</div>

... provereno u IE, FF i Operi - alert (win.nodeName) ne generiše grešku već uredno vraća "DIV" ukazujući da browseri gledaju kroz prste.

Koristim FireBug na FF i lepo mi javlja "Element referenced by ID/NAME in the global scope. Use W3C standard document.getElementById() instead", ali je referenciranje ipak učinjeno.

:-)
[ bzero @ 20.11.2006. 14:02 ] @
Zanimljiv tekst. Evo jos necega na ovu temu, sto mi se desilo neki dan:

Code:

...
<script type="text/javascript">
function s() {
    alert('submiting...');
    return false;
}
</script>
...

...
<form onsubmit="return s()">
<input type="text" name="s">
<input type="submit">
</form>
...


Kod nije naravno bio ovako prost, ali to je sustina. Pri submitu bi trebalo da se pozove funkcija s(), ali to nije radilo, ni u jednom browseru (FF, IE, Opera). Greska je bila "Object doesn't support this property or method" (IE), odnosno "s is not a function" (FF).
Problem je u tome sto se poziv funkcije "s()" nalazi u okviru forma, a u okviru tog forma se nalazi i input sa imenom "s", pa kako lepo rece nK: "...u praksi je funkcija prebrisana input objektom...".
Ovo ce inace da radi, samo ako se browseru "kaze" na koji se konkretno "s" misli, pa se npr stavi:

Code:

... onsubmit="return window.s()" ...


Ja inace koristim sisteme davanja imena, pa ne moze da se desi ovako nesto, ali u konkretnom slucaju, dodatni zahtev je bio da krajnji output, zbog performansi bude sto manji, pa su sva imena funkcija i elemenata samo jedno slovo, i eto cirkusa...
[ noviKorisnik @ 21.11.2006. 08:40 ] @
Kud onda dvaput s :-) ... no da, izuzetno je neugodno što mora da se vodi računa o id i name atributima elemenata da se ne krljaju s ostatkom imena koji se koriste u skript kodu. Ponekad se zagrcnemo od previše slobode ;-)