Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MySQL][PHP]Wyświetlanie w zależności od js
Forum PHP.pl > Forum > Przedszkole
Pcbecaw
Czy można zrobić skrypt, który sprawdzi, czy użytkownik ma włączoną obsługę javascript i w zależności od tego wyświetli komunikat?
Konkretnie:
Mam u siebie logowanie oparte na js, a potrzebuje je wyświetlić tylko wtedy, jeśli użytkownik ma włączoną obsługę js, bo inaczej nie zadziała. Jeśli nie ma włączonej, chciałbym wyświetlić linki tekstowe. Da się to zrobić?
maviozo
Musisz zaplanować podstawowy wygląd tak, jakby javascript NIE działał. Następnie piszesz kod JS, który ukryje/zmodyfikuje te elementy na właściwy wygląd. Efekt jest taki, że jeżeli ktoś nie będzie miał obsługi javascriptu, skrypt nie usunie info o braku javascriptu (bo nie będzie działał).
Prosty przykład:
  1. <div id="noJS">Nie masz obsługi Javascript!</div>
  2. <script type="text/javascript">
  3. document.getElementById("noJS").style.display="none";
Jeżeli JS będzie działać, to napis będzie niewidoczny.
Pcbecaw
to ja wytłumacze szczegółowiej co mam, a co chciałbym i prosiłbym o odpowiedź, czy tak się da.
mam 2 przyciski:
Zaloguj się | Rejestracja.
I teraz, jeśli jest włączona js, to zaloguj otwiera formularz logowania na tym samym przycisku (coś jak eioba.pl). Chciałbym, że jeśli ktoś nie ma js, to żeby kliknięcie w 'zaloguj się' przenosiło na inną podstrone, na której będzie można się zalogować. Da się tak?
maviozo
Da się. Robisz z przycisku logowania link do strony bez javascriptu. Natomiast z poziomu javascriptu podłączasz zdarzenie do przycisku, który zablokuje normalne kliknięcie. Dzięki jQuery:
Kod
$("#logowanie").on("click",function(e){
e.preventDefault();
//otwieranie formularza czy inne pierdołki
});
Pcbecaw
tak?:
  1. <a id="displayText" href="logowanie">Zaloguj się</a>
  2. <script type="text/javascript">
  3. $("#logowanie").on("click",function(e){
  4. e.preventDefault();
  5. Formularz
  6. });
  7. </script>

mam jeszcze do tego toggle:
  1. <script type="text/javascript">
  2. function toggle() {
  3. var ele = document.getElementById("toggleText");
  4. var text = document.getElementById("displayText");
  5. if(ele.style.display == "block") {
  6. ele.style.display = "none";
  7. text.innerHTML = "show";
  8. }
  9. else {
  10. ele.style.display = "block";
  11. text.innerHTML = "";
  12. }
  13. }
  14. </script>
i on działa, jeśli href="java script:toggle();" i teraz nie wiem jak to połączyć za bardzo
maviozo
Mylisz pojęcia. Po pierwsze, żeby korzystać z kodu, który zapronowałem, musisz dołączyć jQuery. To jest podstawa.
Potem: w Twoim przykładzie trzeba byłoby użyć
Kod
$("#displayText").on("click",function(e){
poniewasz "szukasz" elementu za pomocą ID.
Co do pozostałej części nie bardzo wiem co ma piernik do wiatraka.
Pcbecaw
tak?:
  1. <a id="displayText" href="java script:toggle();">Zaloguj się</a>
  2. <script>
  3. $("#displayText").on("click",function(e){
  4. e.preventDefault();
  5. Formularz
  6. });
  7. </script>
  8. <script type="text/javascript">
  9. function toggle() {
  10. var ele = document.getElementById("toggleText");
  11. var text = document.getElementById("displayText");
  12. if(ele.style.display == "block") {
  13. ele.style.display = "none";
  14. text.innerHTML = "show";
  15. }
  16. else {
  17. ele.style.display = "block";
  18. text.innerHTML = "";
  19. }
  20. }
  21. </script>

z dołączonym jquery
ale gdzie tą podstronę zagnieździć?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.