Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Automatyczne wywołanie linku
Forum PHP.pl > Forum > Przedszkole
lukaszk
Witam, mam skrypt "okienka popup" które wyświetlają mi informację po kliknięciu w link działa jak powinno.

Okazało się że potrzebuję również kiedy np użytkownik doda adres email do subskrypcji

Czyli komunikat po spełnionym warunku.

Link wygląda tak
  1.  
  2. <a href="#?w=500" target="_blank" rel="popup1" id=="popup1" class="colr poplight readmore">Czytaj</a>
  3.  
  4.  
  5. <script language="javascript" type="text/javascript">
  6. document.getElementById('popup1').click()
  7. </script>


Starałem się to wywołać jak powyżej ale nic nie działa.
Proszę o pomoc
jaslanin
Jak zrozumiałem chcesz by pojawiał się komunikat po tym jak użytkownik pomyślnie doda swojego e-maila do subskrypcji.

W Twoim kodzie jednak nie ma żadnych informacji o tym w jaki sposób użytkownik jest dodawany do subskrypcji. Najpewniej masz jakiś formularz, i przesyła on dane z formularza za pomocą POST do jakiegoś pliku. Po prostu po prawidłowym dodaniu wyświetl popup poprzez danie warunku że jeżeli dodano mail to wyświetl taki a taki kod html, dodatkowo może jakiś js służący do zamykania popupu.

Ale wszystko zależy od tego jak to dokładnie masz zrobione.
lukaszk
if (warunek) {
echo "Komunikat"
a chcę aby wywołany został link
<a href="#?w=500" target="_blank" rel="popup1" id="popup1" class="colr poplight readmore">Czytaj</a>
} else {
echo "Komunikat 2"
a tu
<a href="#?w=500" target="_blank" rel="popup2" id="popup2" class="colr poplight readmore">Czytaj</a>
}

Nigdzie nie mogę wyświetlić tych komuniaktów więc chcę wyświetlać to jako popup.
A że mam już tylko działający na kliknięcia chcę go wykorzystać aby ujednolicić i nie zaskakiwać złożonością bajerów stronę.
Więc zamiast echo chcę wywołać link

Czyli jak wywołać link bez kliknięcia w niego?

Może inaczej ....


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



a tak wygląda kod odpowiedzialny za wygląd i treść okienka popup.

  1. <div id="popup1" class="popup_block" style="width: 500px; margin-top: -159px; margin-left: -290px; display: none; ">
  2. <a href="http://www.designbombs.com/"><img src="bomber.gif" alt="Lil bomb dude" style="float: right; margin: 50px 0 0 20px;"></a>
  3. <h2>Wiadomosć od Popup #1</h2>
  4. <p><?php echo ''.$a['temat'].''; ?> - <?php echo ''.$a['tresc'].''; ?> </p>
  5. <p><strong>Need Inspiration?</strong> Check out <a href="http://www.designbombs.com/">Design Bombs</a></p>
  6. </div>
  7.  


powyższe okienko wywołuję klikając w link

  1. <a href="#?w=500" target="_blank" rel="popup1" class="colr poplight readmore">Czytaj</a>
  2.  


więc jak zrobić aby poniższy kod wywołać po spełnieniu warunku.


  1. <div id="popup1" class="popup_block" style="width: 500px; margin-top: -159px; margin-left: -290px; display: none; ">
  2. <a href="http://www.designbombs.com/"><img src="bomber.gif" alt="Lil bomb dude" style="float: right; margin: 50px 0 0 20px;"></a>
  3. <h2>Wiadomosć od Popup #1</h2>
  4. <p><?php echo ''.$a['temat'].''; ?> - <?php echo ''.$a['tresc'].''; ?> </p>
  5. <p><strong>Need Inspiration?</strong> Check out <a href="http://www.designbombs.com/">Design Bombs</a></p>
  6. </div>
  7.  



Proszę o pomoc
kamil4u
Nie:
Kod
document.getElementById('popup1').click()
, a jQuery-owskie http://api.jquery.com/click/ lub http://api.jquery.com/trigger/

A skoro to jQuery-owskie metody, to musisz $('#id').click();
Poza tym nie id=="popup1", a id="popup1"
lukaszk
Móisz o takim kodzie ?
nie wywołuje niestety okienka popup
  1. <script type="text/javascript">
  2. document.getElementById('popup1').click()
  3. </script>
kamil4u
Przygotuj jak możesz proste demo i umieść online.
lukaszk
tzn działa tak że ta strona na której umieszczony jest kod otwiera się bez końca w nowych oknach
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.