Autor | Zpráva | ||
---|---|---|---|
leorond Profil |
#1 · Zasláno: 17. 12. 2015, 01:26:12
Ahoj, potřeboval bych udělat v JS podmínku aby například
pokud obsahuje slovo blbec tak se zobrazila hláška například Zpráva obsahuje nedovolené slovo! Zkoušel jsem to takto <script type="text/javascript"> function kontrola() { var zprava=""; // zpráva o chybách if(document.getElementsByName("zprava")[0].value=="blbec") {zprava+="Zpráva obsahuje nedovolené slovo\n";} if(zprava=="") {return true;} // data budou odeslána else { alert(zprava); // zobrazení zprávy o chybách return false; // data nebudou odeslána } } </script> ale bohužel mi to nefunguje. Jsem v JS začátečník a pokud takto udělám třeba ochranu proti nevyplnění pole tak to funguje dobře, tedy za předpokladu že value=="" . Myslel jsem že pokud tam zadám třeba nějakou hodnotu jako slovo tak to bude fungovat.
Děkuji |
||
Keeehi Profil |
#2 · Zasláno: 17. 12. 2015, 01:53:28
Ale ono to funguje. Jen místo kontroly, zda zpráva obsahuje nějaký podřetězec kontroluješ, za je mu přímo rovna.
To co chceš je document.getElementByName("zprava")[0].value.indefOf("blbec") != -1 |
||
leorond Profil |
#3 · Zasláno: 17. 12. 2015, 10:15:04
Děkuji hned to jdu vyzkoušet :)
|
||
Chamurappi Profil |
#4 · Zasláno: 17. 12. 2015, 10:43:00
Reaguji na leoronda:
Chtěl bych podotknout, že metoda getElementsByName téměř nikdy není potřeba. Pokud je name na elementu, který atribut name nemá dovolený (třeba <div> ), tak je toto hledání zdrojem nekompatibilit, a pokud je na formulářovém prvku, přijde by mi snazší použít document.názevFormuláře.názevPolíčka (případně jde formulář najít jinou cestou, pokud nemá name , každopádně reference na formulářový prvek je na něm k dispozici).
|
||
leorond Profil |
Ještě bych se chtěl zeptat na toto, zda to bude fungovat jako kontrola zda je již v DB určitý záznam, uziv. jmeno jsem zvolil jen jako příklad .
<?php $result = mysql_query("SELECT * FROM uzivatele WHERE user = '".$_POST["jmeno"]."'"); $row = mysql_fetch_assoc($result); ?> <script type="text/javascript"> function kontrola() { var zprava=""; // zpráva o chybách if(document.getElementsByName("jmeno")[0].value.indexOf("<?=htmlspecialchars($row["user"])?>") != -1) {zprava+="Uživatelské jméno již existuje!\n";} if(zprava=="") {return true;} // data budou odeslána else { alert(zprava); // zobrazení zprávy o chybách return false; // data nebudou odeslána } } </script> Děkuji |
||
anonymníí Profil * |
#6 · Zasláno: 17. 12. 2015, 11:05:50
leorond:
Proč to nezkusíš, je to rychlejší, než čekat na odpověď na diskusi. Jen upozorním, že Keeehi se překlepl a ty jsi bezmyšlenkovitě ten překlep naimplementoval i k sobě... správně je indexOf .
|
||
leorond Profil |
#7 · Zasláno: 17. 12. 2015, 11:09:15
Ještě jsem to nezkoušel, právě mám na VPS stádo techniků tak se snažím zjistit si tyto informace dopředu ale díky za upozornění anonymníí nevšiml jsem si toho. Právě jsem si o tom něco našel na webu.
|
||
leorond Profil |
#8 · Zasláno: 17. 12. 2015, 14:36:54
Trochu jsem nad tím přemýšlel a asi dělám chybu v tom že bych měl odkázat tu podmínku na script kde bude výše uvedený php kód že?
|
||
Časová prodleva: 8 let
|
0