Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] problem z divem
slawek3422
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

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


Witam.
To skrypt, którego używam:

  1. <script type="text/javascript">
  2. function strona(plik) {
  3.  
  4. var xml = null;
  5. var wynik = document.getElementById("wynik");
  6. wynik.innerHTML = "Trwa ładowanie strony";
  7.  
  8. if (window.XMLHttpRequest) xml = new XMLHttpRequest();
  9. else if (window.ActiveXObject) xml = new ActiveXObject("Microsoft.XMLHTTP");
  10.  
  11. if (xml) {
  12. xml.onreadystatechange = function() {
  13. if (xml.readyState==4) {
  14. wynik.innerHTML = xml.responseText;
  15. }
  16. }
  17. xml.open("GET", plik+".htm", true);
  18. xml.send(null);
  19. }
  20. return false;
  21. }


wywołuję go w ten sposób:

  1. <a href="s1.htm" onclick="return strona('s1')">Strona główna</a>
  2. <a href="s2.htm" onclick="return strona('s2')">Strona 2</a>
  3. <a href="s3.htm" onclick="return strona('s3')">Strona 3</a>


a wynik wyświetla się tutaj bez przeładowania strony:
  1. <div id="wynik"></div>


No i działa pięknie pod FF, IE i Safari ale jak zrobić, żeby takie wywołanie zadziałało pod IE i Safari ?:

  1. <select id="wielkosc" name="wielkosc" onchange="select(this.value)">
  2. <option value="">wybierz</option>
  3.  
  4. <option value=52 onclick="return strona('s1')">19"</option>
  5. <option value=100 onclick="return strona('s2')">21,1"</option>
  6. <option value=90 onclick="return strona('s3')">21,3"</option>
  7. <option value=113 onclick="return strona('s4')">22"</option>
  8. <option value=106 onclick="return strona('s5')">22,2"</option>
  9. <option value=115 onclick="return strona('s6')">24,1"</option>
  10. <option value=122 onclick="return strona('s7')">27"</option>
  11. <option value=125 onclick="return strona('s8')">30"</option>
  12.  
  13. </select>


W FF działa bez problemu a w IE wg mnie nie działa dlatego, że nie ma hrefa ...
Jakieś pomysły ?
Go to the top of the page
+Quote Post
bazyliszek83
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


A nie lepiej do zdarzenia onChange przy <select> dopisać jakaś funkcję która na podstawie wybranego pola wywoła funkcje strona(plik). Wiem że pod IE funkcja onChange działa prawidłowo na <select>, a na <option> różnie to bywa.


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
safe
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.03.2009

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


@bazyliszek83 mam identyczny problem z tym ze nie jestem zabardzo obyty w JS

Jestes w stanie zaproponowac jakas implementacje ?
Go to the top of the page
+Quote Post
bazyliszek83
post
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 6
Dołączył: 24.07.2007
Skąd: Poznań

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


Piszę tak z "ręki" więc może nie wszystko działać ale idee przedstawie:
Taką prostą funkcję bym polecał. Tu oczywiście jest ona prosta bo w przedstawionym przykladzie strony są numerowane od 1 wzwyż.
  1. function przekieruj(element) {
  2. if(element.selectedIndex > 0)
  3. strona( "s" + element.selectedIndex );
  4. }


Samego selecta bym widział tak.
  1. <select id="wielkosc" name="wielkosc" onchange="przekieruj(this);select(this.value);">
  2. <option value="">wybierz</option>
  3.  
  4. <option value=52>19"</option>
  5. <option value=100>21,1"</option>
  6. <option value=90>21,3"</option>
  7. <option value=113>22"</option>
  8. <option value=106>22,2"</option>
  9. <option value=115>24,1"</option>
  10. <option value=122>27"</option>
  11. <option value=125>30"</option>
  12.  


Nie wiem co to jest za funkcja select(this.value), więc ją zostawiłem w spokoju:)

Powinno śmigać również pod IE. Jakby cos to piszcie...smile.gif

Ten post edytował bazyliszek83 18.03.2009, 08:52:58


--------------------
App 4 You - Aplikacje internetowe
Go to the top of the page
+Quote Post
slawek3422
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 7
Dołączył: 3.08.2007
Skąd: śląsk

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


pięknie śmiga smile.gif dzięki za pomoc
Go to the top of the page
+Quote Post
safe
post
Post #6





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.03.2009

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


dokładnie smile.gif działa, muszę to teraz tylko przerobić na więcej selectów ale to już sobie chyba poradzę smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 07:56