Autor | Zpráva | ||
---|---|---|---|
lukame Profil * |
#1 · Zasláno: 23. 5. 2016, 22:57:46
Zdravím,
mám jednoduchou kontrolu vyplněných polí ve formuláři: <script type="text/javascript"> function kontrola() { if (document.modal.name.value == ""){ var jako = "ne"; return false; } else { var jako = "ano"; return true; } } </script> Formulář: <form ... > <input class="input" type="text" name="name" value="" onKeyUp="kontrola()"> <script type="text/javascript" language="JavaScript"> if (jako == "ano"){ document.write('přijmuto'); } else { document.write('není'); } </script> </form> Chci provádět kontrolu přímo při zadávání do inputu. Funguje to perfektně, pokud do funkce kontrola() dám k jednotlivým podmínkám třeba hlášku alert(). Ale potřebuji to nějak dostat přímo k inputu, aby se mi za políčkem objevil třeba zelený / červený puntík. Takže mi už nefunguje ten javascriptový IF pod inputem. Díky za rady |
||
Keeehi Profil |
lukame:
document.write se nedá použít pro už vykreslenou stránku. Musíš použít něco jiného a to uvnitř té funkce kontrola. |
||
lukame Profil * |
#3 · Zasláno: 23. 5. 2016, 23:13:16
hm... o to mi šlo, jestli je to vůbec možné mít přímo u inputu mimo funci kontroly..... mrknu na to. dík
|
||
Taps Profil |
#4 · Zasláno: 23. 5. 2016, 23:25:17
lukame:
pro rozšíření obzorů Označení povinných položek |
||
Trejpa Profil |
#5 · Zasláno: 23. 5. 2016, 23:48:55
|
||
lukame Profil * |
#6 · Zasláno: 24. 5. 2016, 23:19:16
Díky, HTML5 je super, ale ještě bych s tím počkal. .. Pokud to jde udělat jinak.
Trejpa: je nějak zásadní rozdíl v použití Inner nebo změna třídy? Myslím tím v zatížení procesů atd.... No, ještě bych se chtěl zeptat na jedno. Kontrola výše už mi funguje skvěle, ale pořád se trápím s kontrolou emailů: function kontrola_email() { var email = document.getElementById('email'); var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(email.value)) { ....... není } else { ...... jeje } } <input class="input" type="text" name="email" value="@" onKeyUp="kontrola_email()"> Motám se s tím už moc dlouho dokola. Je to samozřejmě převzatá podmínka. Díky |
||
Trejpa Profil |
lukame:
Předělaný příklad pro e-mail. (Použitý regulár bere jen e-mailové adresy v ASCII. Chceš-li vyhodnotit obecnou adresu, třeba obsahující diakritiku, použij nějaký pokročilejší.) Přidal jsem tam i reakci na změnu fokusu, protože při vhodném názvu inputu prohlížeč může hodnotu napovědět, uživatel ji vybere myší, ale tím nespustí událost onKeyUp. |
||
KryVosa Profil |
#8 · Zasláno: 26. 5. 2016, 18:02:47
Trejpa:
Ať už je to čímkoliv, ten tvůj RegExp reaguje kladně i na email ".@e " (Ta mezera na konci tam má být) |
||
Trejpa Profil |
#9 · Zasláno: 26. 5. 2016, 18:33:21
KryVosa:
Nerozporuji, není můj. Neumím je sestavovat, jen použít. Jak jsem napsal, je třeba použít pokročilejší. |
||
_es Profil |
#10 · Zasláno: 27. 5. 2016, 11:51:53
lukame:
„ <input class="input" type="text" name="name" “
Nie je dobrý nápad, dávať prvkom formulára také „podivné“ názvy ako name - dokáže to spôsobiť ťažko odhaliteľné chyby.
|
||
Časová prodleva: 7 let
|
0