Kontrola formuláře
12 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Ahoj všichni - píchnete mi plz s tímhle oříškem ? Už to ladím jak dlouho a poád to nefunguje - chci zajistit, aby uživatel MUSEL zadat nějaká data než se článek uloží do db. Na stránce kde data zadává mám <script language="javascript"> function over() { if((document.formular.popis.value=="") || (document.formular.misto.value=="") || (document.formular.email.value=="") || (document.formular.titulek.value=="")) { window.location="insert_article.php"; }; } </script> *další text na stránce, i.e. ten formulář* <input type="submit" value="Vlož do databáze" onclick="over()"> to by měla být jedna ochrana. A druhá pak je na stránce kde se data zpracovávají, a to if(!isset($titulek) OR !isset($email) OR !isset($popis) OR !isset($zn) OR !isset($misto)) { header("location: insert_article.php?chyba=nevyplneno&titulek=".$titulek."&datum_zan=".$datum_zan."&zn=".$zn."&email=".$email."&telefon=".$telefon."&popis=".$popis."&komentar=".$komentar); }; if(($titulek=="") OR ($email=="") OR ($popis=="") OR ($zn=="") OR ($misto=="")) { header("location: insert_article.php?chyba=nevyplneno&titulek=".$titulek."&datum_zan=".$datum_zan."&zn=".$zn."&email=".$email."&telefon=".$telefon."&popis=".$popis."&komentar=".$komentar); }; Přesto to pořád bez debat propouští. Nevíte proč ? Já už jsem z toho jelen...
-
javascriptove fungujici reseni je http://www.blueboard.cz/kniha_0.php?hid=2x41h330t69ix6k9diudao8usxjx5p
-
No netvrdím, že to jejich javascriptí ešení nefunguje, ale co je sa**a špatně na tom mým ?
-
Adam: mne jenom unika, proc pouzivas onclick u submitu, kdyz lepsi je podke me onsubmit u formu... podivam se na to, neco takovyho sem jednou resil, snad si vzpomenu.
-
<script type="text/javascript"> function over(formular) { if((formular.popis.value=="")|| (formular.misto.value=="") || (formular.email.value=="") || (formular.titulek.value=="")) { alert("Nejsou vyplnena vsechna pole"); return false; } else return true; } </script> <form action='nejaky_skript.php' method="post" onsubmit="return over(this)"> <input type="text" name="titulek"><br /> <input type="text" name="email"><br /> <input type="text" name="misto"><br /> <input type="text" name="popis"><br /> <input type="submit" value="Vloz do databaze"> </form>
-
Dík, zkusím to. Proč ne u formuláře - nějak mne to nenapadlo, máš pravdu, že je to jednodušší. Jinak proč zadávám/š jako argument té funkci hodnotu this ? To je nějaká speciální hodnota která hodí jméno objektu ve kterém je volaná ?
-
Všechno špatně, nic nefunguje :( To zajištění na zpracovací stránce jsem tam nechal a předělal ten script na to, cos mi, Donny, radil, ale pořád to nefunguje... K vyzkoušení na adams.euweb.cz/zan/insert_article.php.
-
Tak,jak jsem to napsal, tak to funguje (Opera 8.51). Zkontroluj, jestli mas stejne popisky jako NAME u inputu a v tech podminkach v JS. To slovo this preda odkaz na objekt, jak rikas. Zkontroluj, jestli tam mas to RETURN. Nic jinyho me nenapada. A jeslti to nebude fungovat, tak tu nech _fungujici_ odkaz ;)
-
To je takové práce to zkopčit do adress baru ? :)
-
Neco takoveho sem potreboval taky a po pouziti toho co napsal Donny 23. 12. 2005 21:46 funguje bezvadne a bez nejakych velikych uprav... jen prepsat, jak pise ty nazvy podle NAME...
-
Já už jsem z toho jelen. Tady házím celý kód doslova tak jak je na stránkách. K přezkoušení, že to FAKT nejede je na http://adams.euweb.cz/zan/insert_article.php. ... <script type="text/javascript"> function over(formular) { if((formular.popis.value=="") || (formular.misto.value=="") || (formular.email.value=="") || (formular.titulek.value=="")) { alert("Musíte vyplnit všechna povinná pole (titulek, kraj, email a popis) !"); return false; }; else { return true; }; }; </script> ... <form action="insert_article_execute.php" method="post" OnSubmit="return over(this)"> <b>Titulek:</b> <input type="text" name="titulek" <?php if((isset($titulek)) && ($titulek!="")){echo "value=\"".$titulek."\"";};?>><br> Datum ztráty/nálezu: <font size="1">Formát YYYY-MM-DD</font> <input type="text" name="datum_zan"<?php if((isset($datum_zan)) && ($datum_zan!="")) {echo "value=\"".$datum_zan."\"";};?>><br> <b>Kraj:</b> <SELECT name="misto"> <option value="Jihočeský">Jihočeský</option> <option value="Jihomoravský">Jihomoravský</option> ... </select><br> Kategorie: <SELECT name="kategorie"><option value="Obecné">Obecné</option></select><br> <b><input type="radio" name="zn" value="ztráta" <?php if($zn=="ztráta") {echo "checked=\"true\"";}; ?> > Ztráta <input type="radio" name="zn" value="nález" <?php if($zn=="nález") {echo "checked=\"true\"";}; ?> > Nález</b><br> <b>Email:</b> <input type="text" name="email" <?php if((isset($email)) && ($email!="")) {echo "value=\"".$email."\"";};?>><br> Telefon: <input type="text" name="telefon" <?php if((isset($telefon)) && ($telefon!="")) {echo "value=\"".$telefon."\"";};?>><br> <b>Popis:</b> <textarea cols="40" rows="5" name="popis"><?php if((isset($popis)) && ($popis!="")) {echo $popis;};?></textarea><br> Komentář: <input type="text" name="komentar" size="50" <?php if((isset($komentar)) && ($komentar!="")) {echo "value=\"".$komentar."\"";};?>><br> <input type="submit" value="Vlož do databáze"> </form> ...
-
Co se týká javascriptu: v IE to fungovalo a pro Mozillu stačilo umazat středníky za těma složenýma závorkama. if((formular.popis.value=="") || (formular.misto.value=="") || (formular.email.value=="") || (formular.titulek.value=="")) { alert("Musíte vyplnit všechna povinná pole (titulek, kraj, email a popis) !"); return false; } else { return true; }