Opera i blokada wykonywania skryptów


(Robert Zurawski) #1

Witam,

Umieściłem na swojej stronie formularz którego pola sprawdzane są przez JavaScript. W przypadku błędnego lub braku wypełnienia pola - instrukcją alert wyświetlam odpowiedni komunikat i nie pozwalam na wysłanie formularza. Sprawa się komplikuje w przypadku opery która w oknie w którym pojawia się komunikat ma pole do zaznaczenia "zablokuj wykonywanie skryptów na tej stronie".

Pytanie więc w jaki sposób uniemożliwić wyłączenie ich w operze ? Po zaznaczeniu opcji w operze przestaje zupełnie działać JS i można przesłać pusty formularz. Czy jest na to metoda ?


(Xwars) #2

Walidacja po stronie klienta powinna być zawsze _tylko_ uzupełnieniem walidacji po stronie serwera - więc nie widzę problemu :stuck_out_tongue:


(Blotny) #3

Napisać, że JS musi być włączony. Jak ktoś ma wyłączony, to nie przeskoczysz.


(Robert Zurawski) #4

Zgadzam się z tym i jeżeli chodzi o to to problemu nie ma.

Nie wymuszę jednak na 'prostym' użytkowniku by JS był włączony bo taka osoba nawet nie wie, że zaznaczając pole wyłącza JS.

Problem polega na tym, że opera wyświetla okno informacyjne bardzo zbliżone do błędu na stronie. Nieświadomy użytkownik to widząc automatycznie zaznacza pole by więcej takiego czegoś nie oglądać. W tej sytuacji blokowane jest wszystko co związane z JS - nie tylko walidacja pól...

Podejrzewam, że jedynym rozwiązaniem, zamiast wyświetlania komunikatu, będzie po prostu wstawienie do określonego bloku DIV informacji o błędzie. Choć to i tak nie zabroni wysłać pustego formularza. Szukałem rozwiązania by zmienić typ alertu w Operze lub coś w tym stylu...