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]).


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ę 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 biggrin.gif Pomógł, poleciał smile.gif
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: 22.08.2025 - 08:04