Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][MySQL][PHP]Wyświetlanie w zależności od js
Pcbecaw
post 17.03.2012, 21:08:59
Post #1





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
maviozo
post 17.03.2012, 21:14:29
Post #2





Grupa: Zarejestrowani
Postów: 197
Pomógł: 24
Dołączył: 22.11.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Pcbecaw
post 17.03.2012, 21:20:02
Post #3





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
maviozo
post 17.03.2012, 21:44:19
Post #4





Grupa: Zarejestrowani
Postów: 197
Pomógł: 24
Dołączył: 22.11.2010

Ostrzeżenie: (0%)
-----


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
});
Go to the top of the page
+Quote Post
Pcbecaw
post 17.03.2012, 22:11:58
Post #5





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
maviozo
post 17.03.2012, 22:15:56
Post #6





Grupa: Zarejestrowani
Postów: 197
Pomógł: 24
Dołączył: 22.11.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Pcbecaw
post 17.03.2012, 22:45:56
Post #7





Grupa: Zarejestrowani
Postów: 236
Pomógł: 0
Dołączył: 4.06.2011

Ostrzeżenie: (0%)
-----


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ć?

Ten post edytował Pcbecaw 17.03.2012, 22:46:53
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:54