Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][jQuery] - PopUp + przekazanie wartości zmiennej
peja1990
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

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


Witam, mam MEGA problem !
Mianowicie mam wyciągnięte rekordy z bazy danych mySQL, które (to chyba normalne) mają nadane unikalne ID.
Chcę zrobić aby po kliknięciu w ikonkę wybranego rekordu otworzyło się okienko PopUp z mini formularzem, który po wypełnieniu UPDATE'uje wartości wybranego wcześniej rekordu.
Jednak jak okienko PopUp nie wywołuje adresu odsyłacza tylko od razu je "odpala".
Próbowałem na wszelkie sposoby i nie idzie przekazać wartości zmiennej do takiego okienka (chodzi o ID rekordu) aby formularz zUPDATE'ował odpowiedni rekord.

Nie widzę innego sposobu jak przekazać wartość tej zmiennej czyli ID rekordu przez skrypt jQuery, jednak że nie znam jQuery zwracam się z prośbą do Was abyście mi pomogli z przekazaniem tej zmiennej do skryptu jQ.

Na poniższym obrazku przedstawiam ikonkę, która po najechaniu na nią ma zdefiniowany odpowiedni adres (czyli z ID rekordu [&file=ID]).
(IMG:http://iv.pl/images/54836993406305985962.png)

Skrypt jQ:
  1. $(document).ready(function(){
  2. //When you click on a link with class of poplight and the href starts with a #
  3. $('a.poplight[href^=#]').click(function() {
  4. var popID = $(this).attr('rel'); //Get Popup Name
  5. var popURL = $(this).attr('href'); //Get Popup href to define size
  6.  
  7. //Pull Query & Variables from href URL
  8. var query= popURL.split('?');
  9. var dim= query[1].split('&');
  10. var popWidth = dim[0].split('=')[1]; //Gets the first query string value
  11.  
  12. //Fade in the Popup and add close button
  13. $('#' + popID).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" class="close"><img src="close_pop.png" class="btn_close" title="Zamknij" alt="Zamknij" /></a>');
  14.  
  15. //Define margin for center alignment (vertical + horizontal) - we add 80 to the height/width to accomodate for the padding + border width defined in the css
  16. var popMargTop = ($('#' + popID).height() + 80) / 2;
  17. var popMargLeft = ($('#' + popID).width() + 80) / 2;
  18.  
  19. //Apply Margin to Popup
  20. $('#' + popID).css({
  21. 'margin-top' : -popMargTop,
  22. 'margin-left' : -popMargLeft
  23. });
  24.  
  25. //Fade in Background
  26. $('body').append('<div id="fade"></div>'); //Add the fade layer to bottom of the body tag.
  27. $('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); //Fade in the fade layer
  28.  
  29. return false;
  30. });
  31.  
  32. //Close Popups and Fade Layer
  33. $('a.close, #fade').live('click', function() { //When clicking on the close or fade layer...
  34. $('#fade , .popup_block').fadeOut(function() {
  35. $('#fade, a.close').remove();
  36. }); //fade them both out
  37.  
  38. return false;
  39. });
  40.  
  41. });


Za pomoc będę niezmiernie wdzięczny.
Za każdą odpowiedź daję "POMÓGŁ" !
Go to the top of the page
+Quote Post
kudlatypawelek
post
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 5
Dołączył: 30.06.2011

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


Cześć !

Sugeruję użycie którejś z bibliotek do jQuery z kategorii "Modal": http://choosedaily.com/1178/15-jquery-popu...gins-tutorials/. Osobiście stosowałem kiedyś jqModal -> http://dev.iceburg.net/jquery/jqModal/. Graficznie nie powala, ale ma obsługę wielu przydatnych funkcji. Ajaxem musisz przesłać ID do php, żeby wydłubać wcześniej zapisane dane w bazie. Prepopulujesz formę tymi danymi i wysyłasz ją z powrotem do jQuery (to wciąż ajax); następnie renderujesz formę w popupie i znowu ajaxem robisz update. Jeżeli gdzieś się pomyliłem to proszę o korektę (IMG:style_emoticons/default/biggrin.gif) .

Ten post edytował kudlatypawelek 22.07.2011, 10:59:58
Go to the top of the page
+Quote Post
peja1990
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

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


Znalazłem już inne rozwiązanie bo nie mogłem czekać, ale przyglądnę się temu skryptowi bo zapewne jeszcze nieraz mi się on przyda. Dzięki (IMG:style_emoticons/default/biggrin.gif) Pomógł, poleciał (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:13