![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z wymuszeniem przekierowania strony. W zdarzeniu onload w js dodaje do wszystkich formularzy na stronie zdarzenie które powinno przekierować stronę na adres z przyjaznym linkiem. Sama funkcja wykonuje się jednak po niej i tak następuje wykonanie skryptu przez serwer i do samego przekierowania w js defakto nie dochodzi. Funkcje wyglądają tak:
Możecie pomóc? Jak zrobić zeby wykonało się przekierowanie w js a zdarzenie formularza nie bylo juz przechwytywane przez serwer ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Włączyłeś konsolę JS w przeglądarce? Powinien wyskoczyć błąd konkretny z numerem linii.
Może któreś przypisanie wartości wewnątrz map_link się nie udaje? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
tak włączyłem ale nie wyświetla się żadna informacja o błędzie, wszystko jest ok, a sie nie wykonuje tak jak powinno
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 086 Pomógł: 8 Dołączył: 10.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
To zrób sobie mały debugging
![]() Kod function form_link()
{ alert('starting form_link'); var E = document.getElementsByTagName('form'); alert('found '.E.length.' forms'); for (i=0; i<E.length; i++) { E[i].onsubmit = function(){alert('you clicked me!'); return map_link(this);} } alert('applied to every form'); } function map_link(E) { alert('starting map_link'); var ac,mode,id,page,liczba,index; ac = E.ac.value; mode = E.mode.value; id = E.id.value; page = E.page.value; liczba = E.liczba.value; index = E.index.value; alert('reidirecting you'); window.location.href = 'http://www.google.pl'; alert('should this be executed?'); } Ten post edytował Zajec 14.07.2008, 16:59:27 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
przechodzi przez wszystkie alerty.
nawet ostatni :/ alert('should this be executed?'); moze ja jeszcze podam sam kod formularza. Moze to pomoze. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Po window.location.href dodaj return false i powinno działać. Poza tym polecam zmienić nazwę zmiennej E. Zazwyczaj przez e (małe e) oznacza się zdarzenie.
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
nie pomaga return false.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Mój błąd. Nie w tym miejscu powinno być return false.
Kod E[i].onsubmit = function(){map_link(this); return false;}
-------------------- I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 17.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
dzieki. teraz dziala
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:19 |