Diskuze: Propojení html formuláře s externím javascriptem
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj,
lepší je využít událost onsubmit ve formuláři, než pracovat přímo s tlačítkem Odeslat. Po vyvolání událostí zavoláš funkci preventDefault(), která znemožní odeslání formuláře a ty můžeš provést potřebné kontroly. Pak je ale nutné zase formulář programově odeslat, nevím, jak se to dělá v čistém JS, ale minimálně na to je funkce v jQuery.
1.
// tady bych mu predaval primo formular
onsubmit="return validate()"
onsubmit="return validate(this)"
2.
Johle je nesmyslm script se souboru se pripojuje pres tag script. Vygoogluj si priklady na js, kdyz nevis a najdi mi jediny, kde se to pise tak, jak jsi to napsal?
<input type="submit" name="submit" value="Odeslat"src=funkce.js>
<input type="submit" name="submit" value="Odeslat">
<script src=funkce.js></script>
"lepší je využít událost onsubmit ve formuláři" - to rozhodne ne, lepsi je pouzit form onsubmit, jak to mas
Ten tvůj validační script není úplně dobrý. Zkus udělat v html něco jako:
<input id="jmeno" name="jmeno" type="text" maxlength="255" required>
To required ti zajistí, že to uživatel nenechal prázdné (nekontroluješ length==0). Dále v JS použij JavaScript Validation API , které ti pomůže ověřit různé chyby (tooLong, valueMissing, ...) nebo jednoduše ti vrátí true, pokud je input zcela správně vyplněný. Navíc se ti formulář neodešle, pokud v html nejsou správné hodnoty.
DŮLEŽITÉ:
Nezapomeň ověřit hodnoty i v backendu, někdo by mohl naschvál odeslat
neplatná data pomocí vlastního programu nebo by někdo mohl omylem odeslat
prázdná data kvůli starému prohlížeči.
PS: Máš nějaký překlep v kódu, zapomněl jsi udělat >< mezi input a span (jméno, příjmení, email).
Zobrazeno 4 zpráv z 4.