Autor | Zpráva | ||
---|---|---|---|
ad48 Profil * |
#1 · Zasláno: 6. 11. 2010, 12:25:05
Napsal jsem toto:
<style> .a{display:none} </style> <font class="a" color="red">Heslo není stejné!<br></font> <input id="a" onkeyup="if(a.value==b.value) document.styleSheets(0).disabled=false;else document.styleSheets(0).disabled=true"> <br> <input id="b" onkeyup="if(a.value==b.value) document.styleSheets(0).disabled=false;else document.styleSheets(0).disabled=true"> <br> <input type="button" onclick="if(a.value.length==0+b.value.length==0+a.value==b.value==false) alert('První heslo není zadané!');if(b.value.length==0+a.value==b.value==false) alert('Druhé heslo není zadané!');if(document.styleSheets(0).disabled==false+a.value.length==0) alert('OK');if(a.value==b.value==false) alert('Heslo nesouhlasí!')" value="OK"> Když jsem něco napsal do prvního pole a kliknul na OK,tak se zobrazila jedna hláška. Když jsem něco napsal do druhého pole a kliknul na OK,tak se zobrazily čtyři hlášky. Nevíte proč. |
||
preca1 Profil |
#2 · Zasláno: 6. 11. 2010, 23:43:42 · Upravil/a: preca1
myslim, že by sis toho měl přečíst víc o JS. projdi si v klidu to, co je na jpw a vyzkoušej si ty příklady, co tam máš. na co by ses podle mě měl zaměřit: a) pro pracování s jednotlivejma obejktama (input, div, text, atd) používej document.getElementById() (na velikosti písmen v JS záleží!) - předposlední nadpis,
b) jak se používá + (plus) a k čemu je && se podívej se na operátory, c) abys nemusel do události psát slohy (viz to tvoje onclick="if...) a měl v kódu větší přehled, nastuduj si funkce a nauč se je používat + se koukni na použití složenejch (chlupatejch) závorek {}, d) nevim, kde si vzal to document.styleSheets, ale FireBug mi hlásí, že to není fce. existuje to, ale máš to blbě napsaný, takže bych ze začátku používal to, co sem použil já (a.style.display...). A tady je, jak bych to napsal já <style> #upozorneni { display: none; } </style> <div id="upozorneni">Heslo není stejné!</div> <input type="text" id="a" onkeyup="rychlaKontrola()"><br> <input type="text" id="b" onkeyup="rychlaKontrola()"><br> <input type="button" onclick="dumyslnaKontrola()" value="Zkontrolovat"> <script> //vybíram si ze stránky jednotlivý objekty, se kterejma chci pracovat, pomocí //document.getElementById() a ukládam si je jako proměnný var a=document.getElementById("a"); var b=document.getElementById("b"); var div=document.getElementById("div"); //fce, která se provede při stisku kláves function rychlaKontrola() { if (a.value!=b.value) { upozorneni.style.display="block";//pokud hodnoty neouhlasí, zobrazí se div s textem } else { upozorneni.style.display="none"; } } //fce, která se provede při stisknutí čudlíku function dumyslnaKontrola() { vsechnoJeVPoradku = true; //proměnná, která mi udržuje přehled o tom, //jestli je všechno v pořádku if (a.value.length==0) { alert("První heslo není zadané!"); vsechnoJeVPoradku = false; //něco není v pořádku, tak proměnnou nastavim na //false } if (b.value.length==0) { alert("Druhé heslo není zadané!"); vsechnoJeVPoradku = false; } if (a.value!=b.value) { alert("Hesla nesouhlasí!"); vsechnoJeVPoradku = false; } if (vsechnoJeVPoradku) { alert("Všechno je v pořádku!"); } } </script> |
||
Chamurappi Profil |
#3 · Zasláno: 7. 11. 2010, 00:04:29
Reaguji na precu1:
„(to var tam neni potřeba psát)“ Brr. Samozřejmě, že potřeba je. Zejména v tomhle případě ti pravděpodobně zajistí chybějící var ošklivý problém s kompatibilitou, protože máš proměnnou nazvanou stejně jako id . Když takhle explicitně napíšeš, že je var zbytečné, tak začátečníkovi docela uškodíš.
|
||
preca1 Profil |
#4 · Zasláno: 7. 11. 2010, 07:45:22
Aha, tak to se omlouvam, ale vycházel sem z tohodle - Vysvětlení skriptu -> druhý odstavec asi v 1/3:
V JavaScriptu je dobré proměnné deklarovat. Na deklarování slouží klíčové slovo var následované výpisem použitých proměnných. Ale nemusí se to dělat. Dík za opravu, ale vycházel sem z toho, co sem si přečet. Určitě bych si informace jen tak nevycucal z prstu :). Už mam rozepsanej mail Yuhůovi |
||
Časová prodleva: 13 let
|
0