Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Odbiór nazwy pliku z window.opener
zaiac
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


Witajcie,

Z formularza otwieram plik w nowym oknie:

  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. <input type="file" name="file"/>
  3. <input type="submit" name="upload" value="Upload" />
  4. <img src= questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif />
  5. <input type="text" name="tmpUploadedFileName"/>
  6. <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
  7. </form>


W popupie wycinam kawałek zdjęcia, który zostaje zapisany na serwerze pod jakąś nazwą tymczasową i popup się zamyka.

window.opener.document.newUserPhotoForm.tmpUploadedFileName.value = tmpFilePath;

W polu tekstowym owszem wyświetla się nazwa zapisanego nowego pliku, ale jak są wpakować do img src?

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
gulldarek
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

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


Np tak:

  1. window.opener.document.newUserPhotoForm.getElementsByTagName('img')[0].src = tmpFilePath;
Go to the top of the page
+Quote Post
zaiac
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


Spróbowałem - ale skrypt nie wykonuje się poprawnie.

Próbowałem też:

  1. <img name="tmpUploadedFilePath" />


i później:

window.opener.document.newUserPhotoForm.tmpUploadedFilePath.scr = tmpFilePath;

ale też nie działa zgodnie z oczekiwaniem.
Go to the top of the page
+Quote Post
gulldarek
post
Post #4





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

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


Co dokladnie sie dzieje? Blad .js czy obrazek znika? Co konkretnie zawiera zmienna tmpFilePath?
Go to the top of the page
+Quote Post
zaiac
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


tmpFilePath to string ze sciezka do pliku - generuje sie poprawnie bo wyswietlam go na tym samym formularzu w textboxie.

wywala sie skrypt - jak zakomentuje tę nową linijkę to skrypt działa poprawnie (oczywiscie oprocz tego ze nie pokazuje sie obrazek na formularzu).
Go to the top of the page
+Quote Post
gulldarek
post
Post #6





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

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


Ustaw id dla <img>, np.:

  1. <img id="myThumbnail" src="blank.gif" />


A nastepnie:

  1. window.opener.document.getElementById('myThumbnail').src = tmpFilePath;
Go to the top of the page
+Quote Post
zaiac
post
Post #7





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


Też tak próbowałem:

<img id="tmpUploadedFilePath" src="../photo/aaa.gif"/>

window.opener.document.newUserPhotoForm.getElementById('tmpUploadedFilePath').src = tmpFilePath;

efekt ten sam sad.gif Dlatego też pytałem bo już mi ręce opadają sad.gif Bez tej linijki JSa wszystko działa....
Go to the top of the page
+Quote Post
gulldarek
post
Post #8





Grupa: Zarejestrowani
Postów: 156
Pomógł: 15
Dołączył: 13.09.2003
Skąd: London

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


Miedzy

  1. window.opener.document.newUserPhotoForm.getElementById('tmpUploadedFilePath').src = tmpFilePath;


a

  1. window.opener.document.getElementById('tmpUploadedFilePath').src = tmpFilePath;


jest duza roznica smile.gif

(getElementById() jest metoda dokumentu)

Edit: i jeszcze pytanie: jakiej przegladarki uzywasz? Konsola js wbudowana w Firefox powinna wystarczyc do zdebugowania tego typu problemu

Ten post edytował gulldarek 29.04.2009, 22:20:47
Go to the top of the page
+Quote Post
zaiac
post
Post #9





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


Działa... ale nie do końca - tzn skrypt się wykonuje ale nie zmienia się źródło fotki. Początkowy obrazek znika, a nowy się nie pojawia - ścieżka jest na 100% dobra.

Próbowałem tak:

var tmp = window.opener.document.getElementById('tmpUploadedFilePath');
tmp.setAttribute('src',tmpFilePath);

ale nie działa

PS - jak debugować ten błąd w FF o ktorym pisaliśmy?

Ten post edytował zaiac 29.04.2009, 22:51:38
Go to the top of the page
+Quote Post
Lejto
post
Post #10





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ściągnij sobie dodatek do firefoxa Firebug


--------------------
Go to the top of the page
+Quote Post
zaiac
post
Post #11





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


Ok dzięki.

A czy ktoś jest w stanie pomóc mi w sprawie niezmieniającego się zdjęcia?
Go to the top of the page
+Quote Post
lord_t
post
Post #12





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Masz to online? Ew. czy możesz dać online?

Ten post edytował lord_t 30.04.2009, 20:13:41


--------------------
Go to the top of the page
+Quote Post
zaiac
post
Post #13





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 11.05.2007
Skąd: Kraków

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


Niestety pracuje na razie tylko lokalnie - kod nie wystarczy? smile.gif

  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. <input type="file" name="file"/>
  3. <input type="submit" name="upload" value="Zmień" /><br />
  4. <img id="newUserPhoto" src="../photo/blank.gif"/><br />
  5. <input type="text" name="tmpUploadedFileName"/>
  6. <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
  7. </form>


JS który powinien zmienić fotkę:

  1. <?php
  2. function aaa(tmpFileName){
  3. tmpFilePath = '../photo/photo_tmp/' + tmpFileName;
  4. window.opener.document.newUserPhotoForm.tmpUploadedFileName.value = tmpFilePath;
  5.        
  6. var tmp = window.opener.document.getElementById('newUserPhoto');
  7. tmp.setAttribute('src',tmpFilePath);
  8.                
  9. window.close();
  10. return true;
  11. }
  12. ?>


W Firebugu na podglądzie widzę że ścieżka się zmieniła, ale w kodzie strony nadal jest src="../photo/blank.gif" no i obraz dopiero odświeża się wtedy jak kliknałem na obrazku prawym przyciskiem i dałem

window.opener.location.reload(); też nie działa tak jakbym chciał - odświeża cała stronę i powoduje wyświetlenie blank.gif

jakieś pomysły?

Ten post edytował zaiac 3.05.2009, 12:50:46
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: 20.08.2025 - 22:08