Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wysłaniem url IMG poprzez $_POST, wysyłanie wybranego linku obrazka do bazy danych
Soulast
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


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.

Ten post edytował Soulast 25.02.2014, 11:49:19
Go to the top of the page
+Quote Post
vermis
post
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


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.

Ten post edytował vermis 25.02.2014, 11:52:03


--------------------
Go to the top of the page
+Quote Post
Soulast
post
Post #3





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


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źć.
Go to the top of the page
+Quote Post
grzes999
post
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


Zamiast id użyj atrybutu class.
Go to the top of the page
+Quote Post
Soulast
post
Post #5





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


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..
Go to the top of the page
+Quote Post
grzes999
post
Post #6





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


A w kodzie zmieniłeś odwołanie
[JAVASCRIPT] pobierz, plaintext
  1. $(".jakas_klasa").click(function(event) {
  2. //instrukcje
  3. });
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
Soulast
post
Post #7





Grupa: Zarejestrowani
Postów: 133
Pomógł: 6
Dołączył: 26.10.2009

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


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"
Go to the top of the page
+Quote Post
_Borys_
post
Post #8





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


[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'];


Ten post edytował _Borys_ 26.02.2014, 00:29:56
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 - 12:14