Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] zmiana wartośći, zmiana wybranej wartości za pomocą formularza (bez przeładowania)
devuriel
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 29.05.2009

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


Witam,
mam sobie form:
CODE
<form action=\"file.php\" method\"post\" onsubmit=\"return false;\">
<input type=\"submit\" name=\"fileTransfer\" onclick=\"document.getElementById('transfer').style.display='block';\" id=\"transfer\" value=\"T\">
<input type=\"hidden\" name=\"file\" value=\"".$this->plik['name']."\">
</form>


i teraz
CODE
echo "<b><h2><img src=\"img/people.png\" alt=\"pepople\" border=\"0\" /><a href=\"transfer.php?where=".$whoArray[$i]."&file=".$_POST['file']."\" onclick=\"\">".$whoArray[$i]."</a></h2></b>";


wydawało mi się że zadziała dobrze - lecz tak nie jest. Pod zmienną &file= w url nie postawia wartości value z inputa. Z tego co widzę dzieje się tak za sprawą return false; w formie. Jednak z uwagi na ograniczoną widzę w zakresie JavaScript nie wiem jak to ugryźć aby bez przeładowania zmienić wartość w url. Nie proszę o gotowca jedynie o wskazówki smile.gif

dziękuje za uwagę, pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


Cytat(devuriel @ 12.08.2009, 13:06:42 ) *
Witam,
mam sobie form:
CODE
<form action=\"file.php\" method\"post\" onsubmit=\"return false;\">
<input type=\"submit\" name=\"fileTransfer\" onclick=\"document.getElementById('transfer').style.display='block';\" id=\"transfer\" value=\"T\">
<input type=\"hidden\" name=\"file\" value=\"".$this->plik['name']."\">
</form>


i teraz
CODE
echo "<b><h2><img src=\"img/people.png\" alt=\"pepople\" border=\"0\" /><a href=\"transfer.php?where=".$whoArray[$i]."&file=".$_POST['file']."\" onclick=\"\">".$whoArray[$i]."</a></h2></b>";


wydawało mi się że zadziała dobrze - lecz tak nie jest. Pod zmienną &file= w url nie postawia wartości value z inputa. Z tego co widzę dzieje się tak za sprawą return false; w formie. Jednak z uwagi na ograniczoną widzę w zakresie JavaScript nie wiem jak to ugryźć aby bez przeładowania zmienić wartość w url. Nie proszę o gotowca jedynie o wskazówki smile.gif

dziękuje za uwagę, pozdrawiam!

oświeć mnie proszę, i napisz jaki url ma się zmieniać?
Go to the top of the page
+Quote Post
motylo
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 5
Dołączył: 13.07.2008
Skąd: Kalisz

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


A czy wartość w polu file jest nadana przed wysłaniem? Sprawdź atrybut value w polu file w źródle strony. Może nie jest nadany z poziomu $this->plik['name'].

Jeśli wykasujesz return FALSE, czy w przeglądarce pojawi ci się dobry link?
Jeśli chcesz bez przeładowania strony musisz mieć funkcje wywołującą połączenie z serwerem. Taki POST po stronie przeglądarki,
czy masz do tego jakąś bibliotekę?


--------------------
Więcej: blog.juszczak.org
Go to the top of the page
+Quote Post
devuriel
post
Post #4





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 29.05.2009

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


Cytat(Pawel_W @ 12.08.2009, 13:22:18 ) *
oświeć mnie proszę, i napisz jaki url ma się zmieniać?

Pisząc o URL'u poszedłem za daleko myślami. Chodzi o zmiane wartości typu char, która w PRZYSZŁOŚCI będzie tworzyć owego URL'a :-) - teraz już chyba brzmi lepiej ..smile.gif?

@motyl
dziękuję za odzew.
value jest oczywiście poprawnie wypełniony $this->plilk['name'];
Z bibliotek nie korzystam myślałem, że skoro da się wpływać na elementy typu div (getElementById()) to można też dobrać się do elementów w a href="".. smile.gif

uproszczony schemat:
klikam w inputa(input, input-hidden) -> href="wartosc_z_ukrytego_inputa" (wszystko bez przeładowania strony)
+ do tego dochodzi odkrywanie diva realizowane już poprzez onclick=\"document.getElementById('transfer').style.display='block';\"

pozdrawiam.
Go to the top of the page
+Quote Post
motylo
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 5
Dołączył: 13.07.2008
Skąd: Kalisz

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


rozumiem, że nie pobierasz danych do podmiany w 'href' z serwera tylko z pól typu hidden.
Polecam do tego bibliotekę jQuery (wogóle ją polecam), zmienisz bardzo łatwo poprzez:
Kod
  
$('#idLinka').attr("href")=$('idPolaUkrytego').val();
//i odkrycie diva
$('#idDiva').show();

i to będzie działać na każdej przeglądarce.

Ten post edytował motylo 13.08.2009, 18:19:49


--------------------
Więcej: blog.juszczak.org
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 Aktualny czas: 19.08.2025 - 05:32