Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Zmiana zdjęcia na formularzu z popupa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
zaiac
Wtajcie,

Mam problem ze zmianą zdjęcia wyświetlanego na formularzu na fotkę, która została wybrana w popupie.
Wygląda to w ten sposób:

Formularz główny:

  1. <form name="newUserPhotoForm" target="CropWindow" onsubmit="window.open('about:blank','CropWindow', 'width=800,height=600,scrollbars=yes,status=no'); return true;" action="PhotoCrop.php" enctype="multipart/form-data" method="post">
  2.  
  3. <img name="newUserPhoto" src="../photo/blank.gif"/><br />
  4.  
  5. </form>



Formularz (jego kawałek) i funkcja, które w efekcie powinny zamieniać zdjęcie na głównym formularzu i zamykać popupa.
Dodam że ścieżka prowadzi do poprawnego pliku, który istnieje i jest zapisany na serwerze.

  1. <form action="PhotoCropValidate.php" method="post" onsubmit="return cropValidate('<?php echo'c_'.$tmp_name; ?>');";>        
  2.            
  3.      <input type="submit" value="Wyslij"/>
  4.  
  5. </form>
  6.  
  7.  
  8.  
  9. function cropValidate(tmpFileName){
  10.  
  11.    tmpFilePath = '../photo/photo_tmp/' + tmpFileName;
  12.  
  13.    window.opener.document.newUserPhotoForm.tmpUploadedFileName.value = tmpFilePath;
  14.    window.opener.document.newUserPhoto.src = tmpFilePath;
  15.                
  16.      window.close();
  17.    return true;
  18. }


Googlam już któryś dzień i żadne z rozwiązań nie działa, refresh, reload - próbowałem i nic. Efekt ciągle ten sam - popup się zamyka, a zdjęcie wyświetlane na początku znika i pojawia się puste miejsce (w źródle strony nadal jest blank.gif). Może gdzieś indziej leży problem?

Jeśli ktoś ma jakiś pomysł to proszę o pomoc.

Pozdrawiam.
erix
Spróbuj odwoływać się przez tablicę document.images jeśli chodzi o obrazek.
zaiac
Spróbowałem:

window.opener.document.images["newUserPhoto"].src = tmpFilePath;

Niestety nie działa, nadal taki sam efekt jak poprzednio.
erix
A co pokazuje Firebug?
zaiac
w firebugu wygląda ok:

<img src="../photo/photo_tmp/c_php87D1.tmp" name="newUserPhoto"/>
erix
To znaczy, że działa. Podejrzewam, że podajesz ścieżkę do pliku, który nie został jeszcze potraktowany move_uploaded_file" title="Zobacz w manualu PHP" target="_manual...
zaiac
Nie uploaduje tego pliku, który wyświetlam.
Z uploadowanego pliku (wyświetlanego w popupie) wycinam jego kawałek i zapisuje nowy plik na serwerze - mam do niego ścieżkę / nazwę pliku i chce go wyświetlić na formularzu z którego startuję.
erix
To daj mu normalne rozszerzenie/wysyłaj jakieś MIME.
zaiac
Próbowałem zapisywać .jpg zamiast .tmp ale bez różnicy sad.gif
erix
A jakie MIME w przeglądarce?
zaiac
Tzn? Bo nie bardzo rozumiem? Wcześniej wyświetlam .gif i jest ok :/
Możesz napisać konkretnie co proponujesz?
erix
Żeby sprawdzić MIME obrazka.

A bez ../ w ścieżce próbowałeś?
zaiac
Hej,

Dopiero teraz mam chwilę żeby wrócić do tematu.
W jaki sposób mogę sprawdzić MIME pliku, który już jest na dysku?
W Firebugu jak podglądam formularz to zdjęcie pojawia się ok. Jest z rozszerzeniem .tmp ale to chyba nie przeszkadza, bo zmienialem na jpg i nic sie nie zmieniło.
erix
Klikasz obrazek prawym i otwierasz jego informacje.
zaiac
Typ: text/html

W czym problem? Źle zapisuje plik?
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.