![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
1. Witajcie, mam odnośnik:
Czy da się zrobić tak, żeby po kliknięciu w element przeglądarka nie wysyłała żądania? Czyli po prostu zwykły link, tyle żeby nie działał. 2. Mam np. taki odnośnik: Czy da się zrobić tak, żeby po najechaniu na taki link w pasku stanu pojawił np. odnośnik http://forum.php.pl? Jak macie jakieś pomysły jak prosto osiągnąć takie efekty to byłbym wdzięczny ![]() Ten post edytował Pilsener 15.08.2009, 13:24:25 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 12 Dołączył: 12.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Znacznik <a> musi posiadać zdeklarowane "href" (odnośnik). Efekt, o którym mówisz, można osiągnąć przy użyciu JavaScript.
Kod <a href="" onClick="return false;">asd</a>
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Znacznik <a> musi posiadać zdeklarowane "href" - wg mnie href jest dla <a> opcjonalny, ale nie sądzę, by to miało jakieś znaczenie.Wolałbym uniknąć JS, ale tutaj chyba się nie da, dzięki za sposób z onclick. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat - wg mnie href jest dla <a> opcjonalny To jakie znaczenie miałby mieć element A bez HREF? Pomijam fakt, że specyfikacja jasno określa, że dla tego elementu ten atrybut jest wymagany.Jeżeli chcesz by link nigdzie nie prowadził - to nie dawaj tam linka. Jeżeli chodzi Ci o uzyskanie jakiegoś efektu wizualnego - da się to zrobić przy pomocy CSS na dowolnym elemencie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod <!ATTLIST a href %URI; #IMPLIED > Nie jest wymagany. Możesz zrobić href="#". -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czy da się zrobić tak, żeby po najechaniu na taki link w pasku stanu pojawił np. odnośnik http://forum.php.pl? Jeśli chcesz oszukiwać userów, tzn. robić fake-linki, które kierują w zupełnie inne miejsce niż na to wskazuje napis w pasku stanu, to się zastanów dwa razy. Może zrobisz usera w balona raz, a może pięć, ale on już więcej na Twoją stronę nie wróci po takich akcjach.A odpowiadając na pytanie - w pasku stanu pojawia się link umieszczony w parametrze href. Żeby deaktywować linki albo kierować na inną stronę po kliknięciu możesz użyć JS, ale to na nic jeśli user kliknie sobie na linka prawym przyciskiem myszy i wybierze otwórz w nowej karcie. Wtedy zawsze brana jest wartość href i nie jest wykonywane zdarzenie onclick. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat To jakie znaczenie miałby mieć element A bez HREF? - takie, jak każdy inny element liniowy, który można ostylować.Cytat Jeśli chcesz oszukiwać userów - nic z tych rzeczy, zresztą i tak nigdy nie wiesz, gdzie zostaniesz przekierowany ![]() Cytat ale to na nic jeśli user kliknie sobie na linka prawym przyciskiem myszy i wybierze otwórz w nowej karcie. Wtedy zawsze brana jest wartość href i nie jest wykonywane zdarzenie onclick - tego się właśnie obawiałem.A pytam o to wszystko dlatego, że na stronach używa się zarówno <a> jak i <input type="submit" />, jednak oba rozwiązania mają swoje wady: - gdy mam <a> i klikam np. ?go=dodaj_do_koszyka&id=3 to potem muszę usunąć te zmienne z adresu, a jak wiadomo przekierowania nie są zalecane ze względu na wydajność - gdy używam input, to największą wadą jest trudność w ostylowaniu tego tak, aby wyglądał jak link (a href to tylko efekt wieńczący dzieło, najważniejsza jest łatwość użycia pseudoklasy hover) Dlatego wpadłem na pomysł ujednolicenia wszystkich przycisków tak, aby wyglądały jak linki lecz aby user nie widział, który wysyła POST, a który GET, w kodzie wygląda to mniej więcej tak: - link jako link, tylko GET - link jako submit, tylko POST Całość można tak ostylować, że bez zaglądania w kod nie ma różnicy - jednak ten drugi link ma pewien feler - działa "poprawnie" tylko w IE 6.0, w każdej normalnej przeglądarce jest wysyłany zarówno POST, jak i GET (zdaje się, że najpierw leci POST), stąd moje pytanie ![]() Może jeszcze do czegoś innego tego potrzebuję, ale przynajmniej nie powiecie, że pytam bezcelowo ![]() |
|
|
![]() ![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
masz przykłąd zrobienia przycisku który wygląda jak link
i css
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat - takie, jak każdy inny element liniowy, który można ostylować. Nie. A definiuje hiperłącze i tyle. Chcesz mieć element liniowy bez żadnego semantycznego znaczenia? Użyj SPAN.Dla każdego elementu możesz bez problemów używać pseudoklasy :hover. IE6? Olać - zalecane, skorzystać z whatever:hover czy czegoś w tym stylu. Sam cel też wydaje mi się nieco bez sensu. W czym tak bardzo przeszkadzają Ci te zmienne w adresie? Czy te przekierowania to główny powód przeciążenia serwera? A jeżeli już tak bardzo Ci zależy na tym, to proponowałbym tu skorzystać z JS. Zdarzenie click dla A, które w locie tworzy formularz o action równym (tu fragment URLa) z kilkoma inputami oraz go wysyła. Osób bez JS lub świadomie go wyłączających jest bardzo mało - one nie umrą z powodu kilku zmiennych w adresie, a serwer nie będzie tym przeciążony. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czy da się zrobić tak, żeby po kliknięciu w element przeglądarka nie wysyłała żądania? Czyli po prostu zwykły link, tyle żeby nie działał. Kombinujecie... Google: preventDefault. Cytat A pytam o to wszystko dlatego, że na stronach używa się zarówno <a> jak i <input type="submit" />, jednak oba rozwiązania mają swoje wady: - gdy mam <a> i klikam np. ?go=dodaj_do_koszyka&id=3 to potem muszę usunąć te zmienne z adresu, a jak wiadomo przekierowania nie są zalecane ze względu na wydajność A po co usuwać...? O.o Cytat - gdy używam input, to największą wadą jest trudność w ostylowaniu tego tak, aby wyglądał jak link (a href to tylko efekt wieńczący dzieło, najważniejsza jest łatwość użycia pseudoklasy hover) A nie możesz jej użyć dla input? Robisz na siłę problem... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Sami widzicie, że jak napisałem cel, jaki mi przyświeca to każdy kwestionuje tą celowość
![]() 1. Zmienne aż tak bardzo nie przeszkadzają, ale to nieestetyczne i pojawia się problem, kiedy klient odświeża stronę - trzeba zaraz odróżnić, kiedy odświeża a kiedy klika w link, jest cała masa sytuacji, w których link typu usun&id=123 nie ma po wykonaniu akcji racji bytu. 2. A co do hover dla input'a to jak wiadomo IE 6.0 tutaj nam bruździ - na szczęście niedługo (przynajmniej taką mam nadzieję) będzie można olać tego browsera z epoki kamiennej i skończy się ten problem. Cytat Kombinujecie... - no chyba to nie przestęstwo? Kto kombinuje ten żyje ![]() Dzięki wszystkim za pomoc, pokombinuje z tym JS w wolnej chwili. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. Zmienne aż tak bardzo nie przeszkadzają, ale to nieestetyczne i pojawia się problem, kiedy klient odświeża stronę - trzeba zaraz odróżnić, kiedy odświeża a kiedy klika w link, jest cała masa sytuacji, w których link typu usun&id=123 nie ma po wykonaniu akcji racji bytu. A redirect po POSTcie? Cytat - gdy mam <a> i klikam np. ?go=dodaj_do_koszyka&id=3 to potem muszę usunąć te zmienne z adresu, a jak wiadomo przekierowania nie są zalecane ze względu na wydajność I wlasnie temu wszyscy tego uzywaja, bo rozwiazuje problem bardzo szybko i w prosciutki sposob? Co do rozwiazania: ja kiedys onclick dodawalem JSem ukryty formularz, z action == a.href i go wysylalem .submit() + preventDefault na linku, działa. Wada to to ze widzisz link, chcesz go kliknac zeby sie otworzyl w tle, a sie nie da. -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 20:20 |