Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wysłaniem url IMG poprzez $_POST
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Soulast
Podkreślam jestem naprawdę raczkujący w javie i ajaxie smile.gif Próbuje napisać kod w którym skrypt wyświetla wszystkie obrazki z folderu i poprzez kliknięcie na wybrany obrazek jego link zostaje automatycznie bez odświeżania strony wysłany do bazy danych. Można powiedzieć ze wszystko działa ale problem się pojawia w momencie już gdy klikam na obrazek.
Przykłądowo wybierając pierwszy on zostaje wysłany do bazy lecz okazuje się że to nie jest ten sam link którego się wybrało. A wybierając każdy inny obrazek po za pierwszym to działanie javasriptu nie działa i przerzuca mnie na stronę główną.

Oto część javascriptu:
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3.  
  4. $('#obrazsend').click(function(event) {
  5. $('form').submit(function() {
  6. $.ajax({
  7. type: 'POST',
  8. dataType: 'html',
  9. data : $(this).serialize(),
  10. url: 'post.php',
  11. success: function(response)
  12. {
  13. $('#updateuserrez4').append(response).fadeOut(2800);
  14. }
  15. });
  16. return false;
  17. });
  18. });

a tutaj form
  1. <form method="post">
  2. <div class="form-group">
  3. <div id="updateuserrez4"></div></div>
  4.  
  5. <?php
  6.  
  7. if ($dir = @opendir("obrazy/"))
  8. {
  9.  
  10. while (false !== ($f = readdir($dir)))
  11. {
  12.  
  13. if ($f != "." && $f != ".." && $f != "index.html" && $f != "Thumbs.db"){
  14. $avatar = "obrazy/" . $f . "";
  15.  
  16. echo '
  17. <input type="hidden" name="obraz" value="obrazy/' . $f . '"/>
  18. <input type="image" src="obrazy/' . $f . '" name="Submit" class="img-circle normal" width="69" height="69" border="0" id="obrazsend"/>';
  19.  
  20. }
  21. }
  22. closedir($dir);
  23. }
  24. ?>
  25.  
  26. </div>
  27. </form>

Będę bardzo wdzięczny za wszelką pomoc. Męcze się już z tym drugi dzień ale nie mogę dojść do pozytywnego rezultatu.
vermis
Nadajesz wielu obrazom ten sam identyfikator 'obrazsend'. Identyfikator powinien być różny, żeby jednoznaczenie określać element.
Poza tym return false musisz mieć w funkcji obsługującej submit, a nie zwrot z ajaksa.
Soulast
Cytat(vermis @ 25.02.2014, 12:51:03 ) *
Nadajesz wielu obrazom ten sam identyfikator 'obrazsend'. Identyfikator powinien być różny, żeby jednoznaczenie określać element.
Poza tym return false musisz mieć w funkcji obsługującej submit, a nie zwrot z ajaksa.

Dziękuję za podpowiedź. Powiedzmy że do php wrzucę $i++ oraz dodam to i do id="avatarsend' . $i . '" Tak aby było różne ale w jaki sposób dodaje zmienne ID w java script?
Szukałem podpowiedzi w sieci ale nie mogę znaleźć.
grzes999
Zamiast id użyj atrybutu class.
Soulast
Cytat(grzes999 @ 25.02.2014, 17:11:17 ) *
Zamiast id użyj atrybutu class.

Podmieniłem ID na class ale nic wówczas nie działa..
grzes999
A w kodzie zmieniłeś odwołanie
[JAVASCRIPT] pobierz, plaintext
  1. $(".jakas_klasa").click(function(event) {
  2. //instrukcje
  3. });
[JAVASCRIPT] pobierz, plaintext
Soulast
Cytat(grzes999 @ 25.02.2014, 21:57:59 ) *
A w kodzie zmieniłeś odwołanie
[JAVASCRIPT] pobierz, plaintext
  1. $(".jakas_klasa").click(function(event) {
  2. //instrukcje
  3. });
[JAVASCRIPT] pobierz, plaintext

Dokładnie tak zrobiłem oraz zmieniłem w input submit id="jakas_klasa" na class="jakas_klasa"
_Borys_
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. $(document).ready(function() {
  3. $('.obrazsend').click(function(event) {
  4. $.ajax({
  5. type: 'POST',
  6. data : {img_src:$(this).attr('src')},
  7. url: 'post.php',
  8. success: function(response)
  9. {
  10. $('#updateuserrez4').fadeIn('slow').append(response).fadeOut(2800);
  11. }
  12. });
  13. return false;
  14. });
  15. });
  16. </script>
[JAVASCRIPT] pobierz, plaintext

  1. echo '<input type="image" src="obrazy/' . $f . '" class="obrazsend img-circle normal" width="69" height="69" border="0"/>';

post.php
  1. echo $_POST['img_src'];
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.