Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 8 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
kontrola fomruláru

Registrovaný: 15.07.13
Prihlásený: 27.05.18
Príspevky: 243
Témy: 42
Príspevok NapísalOffline : 14.11.2017 15:05

mám taký problém že pri kontrole formuláru ak nie je vyplnení text input alebo sa heslá nezhodujú má vypísať vedľa toho text inputu červený výkričník ale netuším ako ho vypísať
momentálne som tam dal alert aby som videl či to funguje ale nemá tam byť alert má to vypisovať červený výkričník tam v ktorom poli je chyba

Kód:
<!DOCTYPE html>
<html>
<head>
  <title>Kontrola formulára</title>
  <meta charset="utf-8">
  <script>
    function checkForm() {
      var name = document.formCheckName.name.value;
      var cont = document.formCheckName.pass.value;
      var contr = document.formCheckName.cpass.value;
      if (name == "")
        alert("Nezadali ste meno");
      else
        alert("Gratulujeme");

    if(cont == contr)
      alert("su rovnake");
    else {
      alert("nie su rovnake")
    }
    }
  </script>
</head>
<body>
  <form name="formCheckName" onSubmit="return checkForm();">
    Meno: <input name="name" type="text">
    <input type="submit" value="Odošli"><br>
    Heslo: <input name="pass" type="password"><br>
    Heslo2: <input  name="cpass" type="password">
  </form>
</body>
</html>

Ďakujem za rady







_________________
PC: MB MSI 970A-G43 CPU AMD FX6300 6*3,50GHt turbo 4,1Ghz GPU Gigabyte r7 370 windforce oc edition 2GB Ram 8GB Kingston fury hyperx 1866Mhz SSD:Kingston SSDNow V300 120GB
HDD:Seagete baracuda 1TB 7200rpm HDD2 Samsung HD502HJ 500GB 7200RPM PSU fortron hexa + 500W cpu chladič zalman CNPS5X Performa
NOTEBOOK:HP Elitebook 8460p
Tablet:Prestigio visconte Quad:
Mobil: Microsoft Lumia 640 Dual sim

Auto:Chevrolet camaro 1986 IROC-Z
Offline

Skúsený užívateľ
Skúsený užívateľ
kontrola fomruláru

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 14.11.2017 15:25

Piozri si jQuery alebo JS selector.
napirklad cez jquery by to vypadalo takto.

Das si nejake ID pre inpu type meno napriklad. povedzme ze 'id="form_name"'.
Zoberes jQuery (includnejs kniznicu do hlavicky suboru)
pouzijes .css() na pridanie napriklad cerveneho ramceka okolo input-u.
alebo tam das cerveny vykricknik, das ho hidden a iba ho zobrazis ked treba.
alebo tam das cervene pozadie, kde to je chybne.
alebo fantazia.


Naposledy upravil void dňa 14.11.2017 16:02, celkovo upravené 1






_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9
Príspevok NapísalOffline : 14.11.2017 15:59

alebo sa vyhnes jquery a usetris zbytocne stahovanie nepotrebnej kniznice a urobis to iste co napisal void ale v cistom javascripte.
osobne by som odporucil neupravovat css styly v js, ale urobit to zmenou triedy napr:

Kód:
var myForm = document.getElementById('form_name');
myForm.classList.add('invalid'); // pridanie css triedy
myForm.classList.remove('invalid'); // odobratie css triedy


a v css napr:
Kód:
form.invalid input {
 background: red;
}


Offline

Užívateľ
Užívateľ
kontrola fomruláru

Registrovaný: 28.02.11
Prihlásený: 24.04.24
Príspevky: 197
Témy: 6
Bydlisko: Bratislava
Príspevok NapísalOffline : 14.11.2017 16:08

Ak upravím pôvodný kód http://kod.djpw.cz/xtkc







_________________
Neznalosť zložitých operácií necháva myseľ otvorenú pre geniálne riešenia založené na jednoduchosti.
Offline

Užívateľ
Užívateľ
kontrola fomruláru

Registrovaný: 15.07.13
Prihlásený: 27.05.18
Príspevky: 243
Témy: 42
Príspevok Napísal autor témyOffline : 14.11.2017 16:08

Kód:
<!DOCTYPE html>
<html>
<head>
  <title>Kontrola formulára</title>
  <meta charset="utf-8">
  <script>
    function checkForm() {
      var name = document.formCheckName.name.value;
      var cont = document.formCheckName.pass.value;
      var contr = document.formCheckName.cpass.value;
      if (name == "")
        document.getElementById("mark").innerHTML = "!";
      else
         document.getElementById("mark").innerHTML = "";
   if(cont == contr)
      alert("chyba");
    else
      alert("chyba");
    }
  </script>
<style>
.red{
  color: red;
}
</style>
</head>
<body>
  <form name="formCheckName" onSubmit="return checkForm();">
    <input type="submit" value="Odošli"><br>
    Meno:<input name="name" type="text"><p id="mark" class="red"></p>
    Heslo: <input name="pass" type="password"><p id="mar" class="red"></p>
    Heslo2: <input  name="cpass" type="password">
  </form>
</body>
</html>

momentálne to mám takto ale problém je v tom že výkričník mi iba preblikáva







_________________
PC: MB MSI 970A-G43 CPU AMD FX6300 6*3,50GHt turbo 4,1Ghz GPU Gigabyte r7 370 windforce oc edition 2GB Ram 8GB Kingston fury hyperx 1866Mhz SSD:Kingston SSDNow V300 120GB
HDD:Seagete baracuda 1TB 7200rpm HDD2 Samsung HD502HJ 500GB 7200RPM PSU fortron hexa + 500W cpu chladič zalman CNPS5X Performa
NOTEBOOK:HP Elitebook 8460p
Tablet:Prestigio visconte Quad:
Mobil: Microsoft Lumia 640 Dual sim

Auto:Chevrolet camaro 1986 IROC-Z
Offline

Skúsený užívateľ
Skúsený užívateľ
kontrola fomruláru

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 14.11.2017 16:32

mas tam typo "mar" miesto mark.
Odporucal by som ti pozriet si eventy v JS.
Menovite "onfocus" a "focusin". Aj ked toto je zastaraly pristup. HTML5 ma celkom pekne osetrenia, aj ked mi pridu trochu nehomogenne, v tom co vedia.
Proste pripnes na input event listener, ktory, ked dany event zbehne, zapnu funkciu, ktora skontroluje obsah pola a ci je OK.

Zase jQuery ma celkom pekne .focus() a callback-y...







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9
Príspevok NapísalOffline : 14.11.2017 18:12

preblikava ti preto, ze napriek tomu ze ti zobrazi chybu, ten formular ti odosle a refreshne ti stranku. musis tam mat aj 'return false' ak chces zabranit odoslaniu formularu

s tym 'focus' eventom to nie je zly napad, resp. skor blur - zavola ti event ked opustis input, focus je ked vstupis do inputu. ale nepotrebujes na to jquery, javascript ti aj na toto staci ;)
nieco ako:
Kód:
 var inputName = document.querySelector('input.name'); // treba doplnit triedu do html
 inputName.on('blur', function(e) {
  if (this.value == "") {
   this.classList.add('error');
  }
 });


Offline

Skúsený užívateľ
Skúsený užívateľ
kontrola fomruláru

Registrovaný: 19.03.07
Prihlásený: 14.04.24
Príspevky: 7076
Témy: 85
Bydlisko: BA
Príspevok NapísalOffline : 14.11.2017 18:19

A este by bolo fajn pridat "disabled" na odosielaci gombik, ktory sa zrusi, az ked vsetky chacky zbehnu v poriadku.







_________________
Desktop: CPU AMD R7 1700x @ 3.85GHz | Cooling be quiet! Dark Rock Pro 4 | MB ASRock X470 Taichi Ult. | RAM 4x8GB DDR4 G-SKILL TridentZ RGB 3000 CL16-16-16-36 | VGA Powercolor VEGA56 + Raijintek Morpheus II | SSD Crucial MX300 525GB | HDD Seagate Ironwolf 3TB 5900rpm | PSU CORSAIR RM750X | MONITOR AOC Q3279VWFD8 | MOUSE HyperX Pulsefire FPS + Razer eXactMat | HyperX Alloy FPS Brown | HyperX Cloud | ARCH x64 &
Notebook: DELL inspiron 7537 i7 4500U, 16GB RAM, nv750, FHD IPS,Crucial M4 128GB | ARCH x64 & Surface Go 8/128 &
Mobil: LG v40 ThinQ (2018) & SBC: Raspberry pi 0 | 3B+ & Headphones: Senheiser HD58X | AKG K551 + detachable cable mod | Linsoul TIN T2 | KZ SZN
Odpovedať na tému [ Príspevkov: 8 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Kontrola

v PC zostavy

11

587

12.11.2012 11:42

RicK^ Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola

v PC zostavy

12

872

08.01.2009 22:37

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola

v PC zostavy

12

769

04.09.2011 14:53

bindo000 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kontrola

v Antivíry a antispywary

0

644

13.02.2010 16:15

stancoj Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kontrola HJT

v Antivíry a antispywary

3

616

06.07.2008 11:58

marzo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola zostavy

v PC zostavy

20

1752

25.02.2019 13:08

Ivan-K Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola zostavy

v PC zostavy

29

1453

06.07.2011 18:19

eustajL Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola disku

v Pevné disky a radiče

1

434

21.12.2015 14:56

4040 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola logu

v Antivíry a antispywary

11

1023

25.08.2007 20:26

Rbot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola zostavy

v PC zostavy

6

1047

17.06.2011 20:02

Telik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kontrola disku

v Ostatné programy

6

770

19.12.2009 10:59

yenkees Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pomoc, kontrola

v PHP, ASP

7

649

01.10.2008 13:34

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zostava - kontrola

v PC zostavy

25

641

05.08.2013 1:23

Phanteom Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kontrola hijack

v Antivíry a antispywary

1

452

13.11.2007 15:22

Rbot Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kontrola logu

v Antivíry a antispywary

4

554

07.01.2008 12:22

Peterson Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kontrola zostavy

v PC zostavy

5

675

17.07.2016 6:44

dark_globe Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra