Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax] input type=file
lenczewski
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 1
Dołączył: 31.08.2005

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


witam mam kod (sciągnełem z jakieś strony), dodałem pole typu FILE, ale nie wiem dlaczego nie przekazuje go do dalszej części
  1. <? $sid = md5( uniqid( rand(), true ) ); ?>
  2.  
  3. <form method="post" action="upload.php" id="<?=$sid?>">
  4. <input type="hidden" name="act" value="post">
  5.  
  6. <input type="file" name="img" value="">
  7.  
  8. <input type="hidden" name="SUBMIT" value="">
  9. <input type="submit" name="zapisz" value="Zapisz" onClick="ajaxform( '<?=$sid?>', 'ZAPISZ' );"/>
  10. </form>


Funkcja do której to idzie:

  1. function ajaxform( nameID, submitvalue, ResponseId )
  2. {
  3. if ( document.getElementById(nameID).SUBMIT != "undefined" )
  4. {
  5. document.getElementById(nameID).SUBMIT.value = submitvalue;
  6. }
  7.  
  8. if( ResponseId == undefined )
  9. {
  10. ResponseId = 'contentAJAX';
  11. }
  12.  
  13. if ( arrElement[nameID] != 1 )
  14. {
  15. advAJAX.assign(document.getElementById(nameID), {
  16. onLoading : function() {
  17. contentHTML = document.getElementById( ResponseId ).innerHTML;
  18. document.getElementById( ResponseId ).innerHTML = document.getElementById( 'loadtemplate2' ).innerHTML;
  19. },
  20. onSuccess : function(obj) {
  21. document.getElementById( ResponseId ).innerHTML = obj.responseText;
  22. ajaxDebug( obj.responseText );
  23. },
  24. onError : function(obj) {
  25. document.getElementById( ResponseId ).innerHTML = contentHTML;
  26. window.alert('Wystąpił nieoczekiwany błąd. Powtórz operację.');
  27. }
  28. });
  29. }
  30.  
  31. if (document.getElementById(nameID) != "null" )
  32. {
  33. arrElement[nameID] = 1;
  34. }
  35.  
  36. return false;
  37. }


--------------------
Go to the top of the page
+Quote Post
Skobi
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


ajaxem pliku nie wyslesz. A co do kodu to moj kod smile.gif

Ten post edytował Skobi 11.10.2006, 18:57:46
Go to the top of the page
+Quote Post
NetJaro
post
Post #3





Grupa: Zarejestrowani
Postów: 475
Pomógł: 0
Dołączył: 1.04.2005
Skąd: Warszawa

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


Nie wyślesz?

Google umie ;-)
Go to the top of the page
+Quote Post
jarrod
post
Post #4





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


Cytat(lenczewski @ 11.10.2006, 15:05:55 ) *
  1. <form method="post" action="upload.php" id="<?=$sid?>">
  2. <input type="hidden" name="act" value="post">
  3.  
  4. <input type="file" name="img" id="img" value="">
  5.  
  6. <input type="hidden" name="SUBMIT" value="">
  7. <input type="submit" name="zapisz" value="Zapisz" onClick="ajaxform( '<?=$sid?>', 'ZAPISZ' );"/>
  8. </form>



Przede wszystkim brakuje w kodzie elementów "id". W pole input dodałem id="img".

Po drugie - javascriptem to ci się nie uda (przesyłanie plików).
Owszem - google to robi ale jeśli nie wiesz jak to wróć na stronę xajax i przeczytaj jak winksmiley.jpg
Aby to zrobić będziesz potrzebować jeszcze php (najprościej)
i tam znajduje się właściwy kod do obróbki plików na serwerze. Bo niby jak na serwerze javasctiptem przeniesiesz plik z /tmp do /twojego_katalogu ? JS działa tylko po stronie klienta. Ajax wysyła żądanie do serwera i wywoływany jest konkretny skrypt. I to on dopiero odbiera plik. Po zakończeniu działania skryptu zwracana jest odpowiedź do klienta (przeglądarki) i widoczny jest jakiś efekt...
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: 21.08.2025 - 10:55