🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
6 messages
6 total messages Started by Tantal Fri, 04 Jan 2002 22:28
eval() i <A HREF>; window.location() ?
#250
Author: Tantal
Date: Fri, 04 Jan 2002 22:28
50 lines
1934 bytes
Cześć!

Mam taki problem.
Muszę zależnie od różnych działań użytkownika przekazywać różne wartości
parmetrów do PHP przy pomocy
tego samego linku.

Wymyśliłem dwa sposoby, ktore teoretycznie powinny działać.

1.

Funkcja mniej więcej taka:

function reLoad(a) {
var a,replace ;

replace = "index.php?a=" + a + ";" ;
eval(replace) ;
 }

a wkodzie HTML wywołuje przykładowo:
<A HREF="javascript:reLoad(jakasZmienna)></A>

gdzie jakaśZmienna to wcześniej ustalona wartoś np. w wyniku klikania
poróżnych elementach strony.
Niestety badziew nie działa.

2.

Funkcja :

function reLoad(a) {
var a,nowyAdres ;

nowyAdres = "index.php?a=" + a + ";" ;
window.location(nowyAdres) ;
}

natomiast w HTML:

<A HREF="" onClick="reLoad(jakasZmienna)">

Tym razem strona się przeładowuje, ale nie chce przekazywać parametrów do
PHP.

Poczyniłem pewne eksperymenta (wpisałem brutalnie
window.location(index.php?a=AKUKU!!;) do onClicka) i również
się nie udało.

Z góry dzięki.
Re: eval() i <A HREF>; window.location() ?
#251
Author: Scream
Date: Sat, 05 Jan 2002 11:09
9 lines
1080 bytes
> a wkodzie HTML wywołuje przykładowo:
> <A HREF="javascript:reLoad(jakasZmienna)></A>

nie powinno byc przypadkiem reLoad("jakasZmienna") ?


--
regards,
scream (at)w.pl
Re: eval() i <A HREF>; window.location() ?
#253
Author: kraju
Date: Sat, 05 Jan 2002 17:18
20 lines
1551 bytes
> Wymyśliłem dwa sposoby, ktore teoretycznie powinny działać.

> function reLoad(a) {
> var a,replace ;
>
> replace = "index.php?a=" + a + ";" ;
> eval(replace) ;
hmm a co ma byc wynikiem wykonania stringa np"index.php?a=xxx;"
czy nie chodzi ci przypadkiem o window.location=replace???

> 2.
>
> Funkcja :
>
> function reLoad(a) {
> var a,nowyAdres ;
>
> nowyAdres = "index.php?a=" + a + ";" ;
> window.location(nowyAdres) ;
a może j.w
Re: eval() i <A HREF>; window.location() ?
#252
Author: Zbigniew Braniecki
Date: Sat, 05 Jan 2002 23:07
20 lines
1555 bytes
> nie powinno byc przypadkiem reLoad("jakasZmienna") ?

Zdecydowanie nie powinno :)))
Wszelkie adresy zaczynajace sie od javascript: przegladarki takie jak IE czy
Netscape traktuja jako parsowanie linii JS.
Jako przyklad podam Ci - wejdz na http://alladyn.art.pl i napisz w adresie
javascript:alert(STPE.v)
Dopiero kiedy pomijasz to wtedy ryzykujesz ze przegladarka wyswietli strone
http://reLoad() zamiast wywolac funkcje :)))

A dla autora pytania:

Nie testuj na localu. Windows pomija wszelkie zmienne Query Stringa na dysku
lokalnym, albo postaw serwer, albo testuj na serwerze zewnetrznym.

pozdr.
Gandalf

--
Alladyn Team (http://alladyn.art.pl) proud member
Re: eval() i <A HREF>; window.location() ?
#254
Author: Tantal
Date: Sun, 06 Jan 2002 12:03
36 lines
2025 bytes
> > replace = "index.php?a=" + a + ";" ;
> > eval(replace) ;
> hmm a co ma byc wynikiem wykonania stringa np"index.php?a=xxx;"
> czy nie chodzi ci przypadkiem o window.location=replace???

nocóż tu objawiło się moje nie do końca zrozumienie jeśli chodzi o funkcję
eval().
wyszło mi że po wywołaniu funkcji tekst "javascript:reLoad(costam)" powinien
zostać zastąpiony przeztego stringa, ktorego
definiuje w replace. Tak nie jest.

Co do windows.location() to rzeczywiscie powinno byc windows.location =
sorry jak pisalem pytanie to mi sie pochrzanilo z windows.open

dzieki za odzew
temat jest nurtujacy, przynajmniej dla mnie wiec pozwolilem sobie zadac
kolej pytanie.



> > 2.
> >
> > Funkcja :
> >
> > function reLoad(a) {
> > var a,nowyAdres ;
> >
> > nowyAdres = "index.php?a=" + a + ";" ;
> > window.location(nowyAdres) ;
> a może j.w
>
>
>
>
>
Re: eval() i <A HREF>; window.location() ? ROZWIAZANIE
#255
Author: Tantal
Date: Sun, 06 Jan 2002 12:13
25 lines
1689 bytes
Ostatecznie problem rozwiazalem. Okazalo sie ze pomylilem sie troche
przy windows.location

Dzieki.
Jako serwer mam Apacha i dziala.

Dla potomnosci zamieszczam dzialajaca wersje funkcji.


function reLoad() {
replace = "window.location = 'http://localhost/test/index.php?a=wartosc_a;'"
;
eval(replace);

}

a w kodzie zamieszczam

<A HREF="javascript:reLoad()" >jakis_link</A>

strona sie przeladowuje i przekazuje parametry.

Dzieki.

Nota bene co oznacza komunikat o bledzie "nie obsluguje kolekcji" ?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads