[ pakito @ 07.03.2015. 12:10 ] @
Postavio sam formu za komentar, koja ima više polja, i na kraju se od "robota" i drugih šaljivdžija, zaštitio
1 - JavaScript funkcijom koja kontroliuše da li su sva polja popunjena, i ako neko nije, vraća korisnika na ispravke, i
2 - numeričkom kapčom koja vraća korisnika nazad, ukoliko uneti broj nije tačan.

Problem je, medjutim, što se kapča svojim upozorenjem "oglašava" posle svakog propusta korisnika, pošto njen uslov nije ispunjen!
Pretpostavljam da se zbog toga javlja ček-dugme sa upozorenjem "Ne dozvoli ovoj stranici da pravi dodatne dijaloge".
Kada se ono čekira, može da PRODJE kroz formu komentara što god namernik zamisli!

Kako ta noćna mora izgleda, može se videti ovde:
http://www.paundurlic.com/vlaski.recnik/kontakt.php
[ agvozden @ 08.03.2015. 13:42 ] @
da li se hvalis, zalis ili si pokusao da postavis pitanje?

ta funkcija koja vrsi validaciju, moze da vrati false, onda ne validiras kepca kod.
ako izbacujes standardni alert on ce ovo dugme prikazati od 2 izbacivanja na dalje. Resenje je da koristis sopstveni float (ili iz nekog frejmvorka) ili da negde drugde printas upozorenje.
Uglavnom se predvidi neki prostor za error poruke
[ plus_minus @ 08.03.2015. 18:54 ] @
@pakito

Kako se ponaša ta forma za komentar onda kada onesposobiš javaskriptu?


[ pakito @ 16.03.2015. 13:31 ] @
Uz izvinjenje zbog kašnjenja sa odgovorom (nastalo iz opravdanih razloga), u svoju odbranu imam da izjavim sledeće:

1. shvatio sam da je kapča bila suvišna pa sam je izbacio;
2. shvatio sam ali samo do pola, gde bi mogao biti uzrok, samim tim i rešenje, ali pošto od pola na tamo ne razumem, prilažem funkciju kojom proveravam da li su pojedina polja popunjena (uzgred, smanjio sam i njihov broj).
3. pa molim za konkretnu pomoć, ako je možna, a znam da jeste.
4. dakle, evo funkcije (a forma je ovde http://www.paundurlic.com/vlaski.recnik/kontakt.php ):

Code:
function checkForm(forma) {

    if ( forma.txtImeiPre.value == "") { 
        alert('Molimo unesite Vase ime i prezime!');
          forma.txtImeiPre.focus();
          forma.txtImeiPre.select();
        return false;
    }
    if ( forma.txtMesto.value == "") { 
        alert('Molimo unesite mesto boravka!');
          forma.txtMesto.focus();
          forma.txtMesto.select();
        return false;
    }

    if (( forma.txtEmail.value == "") ||
       ( forma.txtEmail.value.indexOf('@') < 0)) { 
        alert('Molimo unesite ispravan e-mail!');
          forma.txtEmail.focus();
          forma.txtEmail.select();
        return false;
    }

    if ( forma.txtKomentar.value == "") { 
        alert('Molimo unesite vas komentar!');
          forma.txtKomentar.focus();
          forma.txtKomentar.select();
        return false;
    } else {
     
    if ((forma.txtKomentar.value.indexOf('http') >= 0) || (forma.txtKomentar.value.indexOf('www') >= 0)) { 
        alert('Unos linka u polje komentara je nedopustiv!');
          forma.txtKomentar.focus();
          forma.txtKomentar.select();
        return false;
      }
    }
        
    return true;
}


PS: agvozden je napisao "Resenje je da koristis sopstveni float (ili iz nekog frejmvorka) ..." a ja priznajem da kao programer naivac ništa od ovoga ne razumem, pa mi treba objašnjenje primereno mom stručnom profilu!
[ kelja @ 06.04.2015. 18:25 ] @
Pakito, ovo radi, ali nece zaustaviti botove ili saljivcine koje iskljuce javascript u browseru... Odradi php validaciju, to je mnogo ozbiljnije.

Za email proveru imas gotovu php funkciju: http://www.w3schools.com/php/php_form_url_email.asp