Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP]Dwa submity w jednym formularzu ładowanie do diva i zapis
kubax33
post 10.10.2013, 22:38:32
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Męcze się i męcze i wymyślić nic nie mogę

mam skrypt uploadu demo tutaj:
http://malsup.com/jquery/form/progress3.html

i teraz jest problem ponieważ chciałbym ten upload dodać do formularza ze zwykłymi polami input itp a następnie zapisać dane innym submitem

  1. <form action="file-echo2.php" method="post" enctype="multipart/form-data">
  2. <input type="file" name="myfile[]"><br>
  3. <input type="file" name="myfile[]"><br>
  4. <input type="file" name="myfile[]"><br>
  5. <input type="submit" value="Wgraj pliki na serwer">
  6. </form>



i wersja mniej więcej na która chciałbym zmienić
  1. <form action="file-echo2.php" method="post" enctype="multipart/form-data">
  2. <input type="file" name="myfile[]"><br>
  3. <input type="file" name="myfile[]"><br>
  4. <input type="file" name="myfile[]"><br>
  5.  
  6. <input type="submit" value="Upload File to Server">
  7.  
  8. <input type=text name=dane1>
  9. <input type=text name=dane2>
  10. <input type=text name=dane3>
  11.  
  12. <input type="submit" value="Zapisz">
  13.  
  14. </form>


Dodam, że w prawdziwym skrypcie mam jeszcze dynamiczne sprawdzanie czy pola formularza zostały wypełnionione.

Największy problem jest w tym, że dla skryptu ze strony demo którą podałem jak doda się kolejnego SUBMITA cały czas zamiast wyodrębnić go to ładuje wszystko do tego DIVA. Chcę po prostu wgrać plik (wywoła normalnie diva), uzupełnić pola input i zapisać dane po kliknięciu drugiego submita tylko nie wiem jak idzie to ominać, aby o nie ładowało drugiego submita do Uploadu. Próbowałem
  1. <a href="mojpli.php" onclick="document.formularzdodaj.submit();return false;">zapisz</a>
i wtedy dokonuje się upload osobno i zapis do bazy osobno jednak takim submitem nie sprawdzę czy zostały wypełnione pola. Poniżej kod ze strony bez zmian:


  1. <style>
  2. body { padding: 30px }
  3. form { display: block; margin: 20px auto; background: #eee; border-radius: 10px; padding: 15px }
  4.  
  5. .progress { position:relative; width:400px; border: 1px solid #ddd; padding: 1px; border-radius: 3px; }
  6. .bar { background-color: #B4F5B4; width:0%; height:20px; border-radius: 3px; }
  7. .percent { position:absolute; display:inline-block; top:3px; left:48%; }
  8. </style>
  9. </head>
  10. <body>
  11. <h1>File Upload Progress Demo #3</h1>
  12. <code>&lt;input type="file" name="myfile[]"></code><br>
  13. <code>&lt;input type="file" name="myfile[]"></code><br>
  14. <code>&lt;input type="file" name="myfile[]"></code>
  15. <form action="file-echo2.php" method="post" enctype="multipart/form-data">
  16. <input type="file" name="myfile[]"><br>
  17. <input type="file" name="myfile[]"><br>
  18. <input type="file" name="myfile[]"><br>
  19. <input type="submit" value="Upload File to Server">
  20. </form>
  21.  
  22. <div class="progress">
  23. <div class="bar"></div >
  24. <div class="percent">0%</div >
  25. </div>
  26.  
  27. <div id="status"></div>
  28.  
  29. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
  30. <script src="http://malsup.github.com/jquery.form.js"></script>
  31. <script>
  32. (function() {
  33.  
  34. var bar = $('.bar');
  35. var percent = $('.percent');
  36. var status = $('#status');
  37.  
  38. $('form').ajaxForm({
  39. beforeSend: function() {
  40. status.empty();
  41. var percentVal = '0%';
  42. bar.width(percentVal)
  43. percent.html(percentVal);
  44. },
  45. uploadProgress: function(event, position, total, percentComplete) {
  46. var percentVal = percentComplete + '%';
  47. bar.width(percentVal)
  48. percent.html(percentVal);
  49. //console.log(percentVal, position, total);
  50. },
  51. success: function() {
  52. var percentVal = '100%';
  53. bar.width(percentVal)
  54. percent.html(percentVal);
  55. },
  56. complete: function(xhr) {
  57. status.html(xhr.responseText);
  58. }
  59. });
  60.  
  61. })();
  62. </script>


Może jakiś warunek dodac do kodu, aby sprawdzało który submit jest naciśnięty i jeśli jest pierwszy to wywołuje skrypt jeśli jest drugi to nie ładuje go do DIVA uploadu?


Go to the top of the page
+Quote Post
blim
post 11.10.2013, 12:07:29
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 2
Dołączył: 13.10.2008
Skąd: Trójmiasto

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


A nie możesz mieć jesdnego submita tego od uploadu plikiów i przy zdarzeniu "success" wykonać submita formularza bez kolejnego klikania??


--------------------
Może tutaj - noclegi
Serwisy WWW, komputery
Go to the top of the page
+Quote Post
kubax33
post 11.10.2013, 12:58:37
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 1
Dołączył: 27.01.2010

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


Wolałbym nie ale jeśli nie idzie tego jakoś ominąć to mógłbym tak zrobić tylko jak się za to zabrać?
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 Wersja Lo-Fi Aktualny czas: 4.07.2025 - 05:07