Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] Dialog box + przypisanie zmiennej z hrefa
MateuszRyaN
post 21.08.2011, 18:55:26
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 10.11.2010
Skąd: Jastrzębie Zdrój

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


Witam,
Moim celem jest taka oto operacja...klikam w button, który ma wartość href np http://google.pl. Po kliknięciu wyświetla się dialog czy tam confirm z opcjami do kliknięcia TAK lub NIE. Jeśli NIE, zamyka dialog i nic nie robi, jeżeli TAK, to pobiera mi z tego konkretnego buttona wartośc tego hrefa i odpala mi go jako window.location.href Kombinowałem sam ale coś mi nie wychodzi ;/.

Aha...z samym hrefem miałem problemy, bo przed otwarciem dialog boxa juz mi przechodziło na podstronę, nie wiem czy tak moze być ale z titla nie mogłem tego pobrać bo głupio by wyglądało jak się najedzie myszką...(docelowo bedzie tam złożony link na getach) i spróbowałem to wsadzić do "rel"...ale też kapa.

W efekcie jest to że przenosi mnie na podstronę "undefined"... więc proszę o pomoc w jaki sposób to naprawić lub ewentualnie jak zrobić żeby nie było problemu z pobieraniem adresu z samego "hrefa" a nie "rel".

  1. $(function() {
  2. $( "#dialog:ui-dialog" ).dialog( "destroy" );
  3. $( "#dialog-confirm" ).hide();
  4. $("a.small_button3").click( function() {
  5. var link = $("#open_dialog").attr("rel");
  6. $( "#dialog-confirm" ).dialog({
  7. resizable: false,
  8. height:140,
  9. modal: true,
  10. buttons: {
  11. "Tak": function() {
  12. $( this ).dialog( window.location.href=''+link+'' );
  13. },
  14. "Nie": function() {
  15. $( this ).dialog( "close" );
  16. }
  17. }
  18. });
  19. });
  20. });


  1. <a class=\"small_button3\" rel=\"http://google.pl\" title=\"Zakończ projekt\" id=\"#open_dialog\">Zakończ</a></td>


Dodam, że gdy wpiszę na sztywno $( this ).dialog( window.location.href='http://google.pl' ); wszystko ładnie hula.

Dobra, poradziłem sobie sam.
Dodatkowo przy przycisku tworzony jest ukryty div
  1. <div id="#for_dialog" style="display:none;">http://google.pl</div>


a funkcja wygląda następująco:

  1. $(document).ready(function() {
  2. $( "#dialog:ui-dialog" ).dialog( "destroy" );
  3. $( "#dialog-confirm" ).hide();
  4. $("a.small_button").click( function() {
  5. var link = $('#for_dialog').text();
  6. $( "#dialog-confirm" ).dialog({
  7. resizable: false,
  8. height:140,
  9. modal: true,
  10. buttons: {
  11. "Tak": function() {
  12. $( this ).dialog( window.location.href = ''+link+'' );
  13. },
  14. "Nie": function() {
  15. $( this ).dialog( "close" );
  16. }
  17. }
  18. });
  19. });
  20. });


Ten post edytował MateuszRyaN 20.08.2011, 22:35:17
Go to the top of the page
+Quote Post
Sephirus
post 21.08.2011, 21:30:24
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Hehe wink.gif Ale kombinacje ;P

A wystarczyło by w sumie:

  1. <a href="http://google.pl" onclick="return confirm('Czy na pewno bla bla bla') ? true : false">Przejdź na google</a>


Ten post edytował Sephirus 21.08.2011, 21:32:10


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
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: 16.06.2025 - 21:16