Opravy chyb webmasterů:Problémy při práci s proměnnými
Z MDC
« Předchozí Následující »
Tyto problémy vznikají, pokud používáme přístup k proměnným uvnitř JavaScriptu nebo jinde na stránce přes jejich globální referenci. Tu umožňuje MSIE, který automaticky (a chybně) zpřístupňuje všechny proměnné v globálním kontextu. Pokud např. do stránky vložíte obrázek s identifikátorem <img id="mujobrazek">, okamžitě pro JavaScript vzniká proměnná mujobrazek, která na tento obrázek odkazuje. Tento problém lze rozlišit na dvě varianty:
[editovat] Formuláře
[editovat] Špatně
HTML:
<input name="jmenopoleformulare" value="hodnota">
JS:
if (jmenopoleformulare.value=="")
alert("Pole nebylo vyplněno");
[editovat] Správně
HTML:
<input name="jmenopoleformulare" id="idpoleformulare" value="hodnota">
JS:
if (document.getElementById("idpoleformulare").value=="")
alert("Pole nebylo vyplněno");
nebo
if (document.forms.jmenopoleformulare.value=="")
alert("Pole nebylo vyplněno");
[editovat] Ostatní (např. obrázky)
[editovat] Špatně
HTML:
<img src="1.gif" id="jednicka" onmouseover="zmen('jednicka')">
JS:
function zmen(co) {
co.src="2.gif";
}
[editovat] Správně
HTML:
<img src="1.gif" id="jednicka" onmouseover="zmen('jednicka')">
JS:
function zmen(co) {
document.getElementById(co).src="2.gif";
}
[editovat] Související odkazy
- JavaScriptové opakování: formuláře (sweb.cz/pichlik)
- Aspoň kousek DOMu (jakpsatweb.cz)
- Weby s chybou globálních proměnných (Technická evangelizace)
« Předchozí Následující »