Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odnośniki javascript:
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
dark_root
Mam pewien problem. Próbuje zrobić odnośnik do takiego kodu
Kod
javascript:alert('dodano twój wpis ', location = "http://xxx.pl/xxx.php?l=wpis")

Jednak nie działa on, gdyż przeglądarka wyświetla mi błąd w http://xxx.pl. Jest jakiś sposób, żeby zakodować tą ścieżke, żeby przeszła przez przeglądarke lub dokonać tego w inny sposób?
webdice
O to Ci chodzi?

  1. javascript:alert('dodano twój wpis'); location = 'http://xxx.pl/xxx.php?l=wpis';
dark_root
No dobra, ale jak wstawię na stronę taki kod
Kod
<a href=javascript%3Aalert%28%27dodano+tw%F3j+wpis%27%29%3B+location+%3D+%27http%3A%2F%2Fxxx.pl%2Fxxx.php%3Fl%3Dwpis%27%3B>asas

Czyli ten sam co twój lub mój to nic się nie stanie jak nacisnę na odnośnik. Jak zrobić żeby wywołała się akcja z odnośnika?
webdice
Masz włączoną obsługę JavaScript?
nrafal
Kod
<a href="http://xxx.pl/xxx.php?l=wpis" onclick="alert('dodano wpis');">Odnośnik</a>


Dodatkowo masz taki bonus, że jeśli nie ma JS to i tak przejdzie na odpowiednią podstronę, tylko alertu nie wyświetli.
dark_root
Mam, jednak chodzi mi o to, że odnośnik nie znajduje się miedzy <script></script> Chce żeby kod wykonał się w ten sam sposób co wykonuje się jak wpisze taką kombinacje w url.
nrafal twoje rozwiązanie mi nie pomoże gdyż w linku chce umieścić zmienną z js np. document.title.
Da sie takie coś zrobić?
webdice
  1. <a href="javascript:alert('dodano twój wpis'); location = 'http://xxx.pl/xxx.php?l=wpis';">click</a>


Tak wkleiłeś? Bo z tego co napisałeś wcześniej na forum to nie wydaje mi się.
nrafal
Najprościej to gdzieś w <script> na górze zdefiniuj funkcję, która robi wszystko co chcesz, a później wywołaj ją przez onlick.
np

Kod
<script type="text/javascript">
function doSomething() {
alert('sth');
window.location = 'my address' + document.title;
}
</script>



<a onclick="doSomething();" style="cursor: pointer;">


Cytat(webdice @ 16.10.2008, 15:39:54 ) *
  1. <a href="javascript:alert('dodano twój wpis'); location = 'http://xxx.pl/xxx.php?l=wpis';">click</a>


Tak wkleiłeś? Bo z tego co napisałeś wcześniej na forum to nie wydaje mi się.



A nie przypadkiem window.location jak już?
dark_root
Jak otworzę swoją stronę i wpiszę w url
Kod
javascript:alert('dodano wpis', location = "http://xxx.pl/xxx.php?l="+document.title)

To pokaże się alert dodano wpis i doda mi się wpis do pliku.
Chcę zrobić dokładnie to samo tylko za pomocą samego <a href..> który ma tak samo zmienić url na ten dodający wpis. Czyli w kodzie zasymulować wpisanie takiej regułki przez internautę nie używając nic innego poza a href. Da się takie coś zrobić?
webdice
Cytat(nrafal @ 16.10.2008, 15:41:43 ) *
(...) A nie przypadkiem window.location jak już?


location, location.href, window.location, do wyboru do koloru.


EDIT: Funkcja prompt oraz alert nie mają drugie parametru. Co się dzieje jeśli wkleisz mój kod?
dark_root
Dzięki webdice rzeczywiście twój kod działa:P
nrafal
Cytat(dark_root @ 16.10.2008, 15:45:11 ) *
Jak otworzę swoją stronę i wpiszę w url
Kod
javascript:alert('dodano wpis', location = "http://xxx.pl/xxx.php?l="+document.title)

To pokaże się alert dodano wpis i doda mi się wpis do pliku.
Chcę zrobić dokładnie to samo tylko za pomocą samego <a href..> który ma tak samo zmienić url na ten dodający wpis. Czyli w kodzie zasymulować wpisanie takiej regułki przez internautę nie używając nic innego poza a href. Da się takie coś zrobić?


Da się, wstaw to w href, ale zamiast cudzysłowów daj apostrofy wszędzie. U mnie działa.

Co do drugiego parametru to to działa najprawdopodobniej dlatego, że JS musi przetworzyć to wyrażenie, żeby zwrócić jego wartość - stąd przekierowanie działa. To, że alert już ignoruje ten parametr ma mniejsze znaczenie winksmiley.jpg Ale generalnie kod jest nieładny.
dark_root
A jakbym wstawił ten kod w img src to wykonałby się on wraz z włączeniem strony? Nie wiem czy się tak da czy coś źle robię i dlatego nie działa?
nrafal
Cytat(dark_root @ 16.10.2008, 15:59:02 ) *
A jakbym wstawił ten kod w img src to wykonałby się on wraz z włączeniem strony? Nie wiem czy się tak da czy coś źle robię i dlatego nie działa?


Nie da się tego zrobić w img src... A co byś tym chciał osiągnąć?
Jeśli chcesz coś wykonać przy załadowaniu strony to zainteresuj się window.onload
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.