Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] zmiana wartośći
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
devuriel
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!
Pawel_W
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ć?
motylo
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ę?
devuriel
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.
motylo
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.
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.