Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js] problem ze skryptem
jawka7
post 14.07.2008, 14:21:43
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


mam taki skrypt kto ry dziala we frontpage a jak tylko wrzuce w przegladarke firefox nic go nie rusza, czemu tak sie dzieje??

Kod
<script language='javascript'>
function podkategoria()
{
var a=document.getElementById('kat').value;
document.getElementById('pod').innerHTML=a;
}
</script>

<select name='kat' onClick='podkategoria()'>
<option value='kategoria1'>kategoria1</option>
<option value='kategoria2'>kategoria2</option>
<option value='kategoria3'>kategoria3</option>
</select>

<span id='pod'></span>


Ten post edytował jawka7 14.07.2008, 15:07:58


--------------------
Go to the top of the page
+Quote Post
skowron-line
post 14.07.2008, 15:36:02
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Po pierwsze primo
- nie onclick tylko onChange
Po drugie primo
- nie tak sie odwołujemy do listy rozwijanej z poziomu JS
Po trzecie primo ultimo
- jeżeli dobrze zrozumiałem to ten kod powinnien mniej wiecej tak wyglądać
  1. <script language='javascript'>
  2. function podkategoria( value )
  3. {
  4. document.getElementById('pod').innerHTML=value;
  5. }
  6.  
  7. <select name='kat' onchange='podkategoria( this.value )'>
  8. <option value='kategoria1'>kategoria1</option>
  9. <option value='kategoria2'>kategoria2</option>
  10. <option value='kategoria3'>kategoria3</option>
  11.  
  12. <span id='pod'></span>


P.s Jeżeli chcesz zacząć się bawić w JS to zainteresuj się jedną z wielu dostępnych bibliotek, a nie zasmiecasz sobie głowę czystym JS.

Ten post edytował skowron-line 14.07.2008, 15:37:26


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
jawka7
post 20.07.2008, 21:06:32
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


dzieki wielkie winksmiley.jpg zapamietam to i biore sie za ksiazke winksmiley.jpg

ok wszystko dziala pieknie we firefox, ale czemu mi teraz onchange nie dziala w ie??


--------------------
Go to the top of the page
+Quote Post
paziek
post 20.07.2008, 22:02:34
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


bo onchange jest zbugowane w IE.
Użyj combo onmousedown+onclick.

Działa pod FF i Operą, powinno pod IE. Nie sprawdzę, bo musiałbym odpalać virtualną maszynę, a to mi zamula PC.
Sprawdź i powiedz smile.gif
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE      html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3.                  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html            xmlns="http://www.w3.org/1999/xhtml"
  5.                  xml:lang="pl"
  6.                  lang="pl">
  7. <head>
  8.     <meta http-equiv="Content-Type"            content="text/html; charset=utf-8" />
  9.     <title>AAAAAAAARGH</title>
  10.     <meta http-equiv="Content-Language"      content="pl" />
  11.     <meta name="Author"                              content="Paziek" />
  12.  
  13.     <link rel="icon" type="image/x-icon" href="./img/favicon.ico" />
  14. </head>
  15. <body>
  16.     <script type="text/javascript">
  17.           function $(a) {return document.getElementById(a);}//to możesz sobie skasować, użyłem tylko do przykładowego kodu, odpalanego przy zmianie selecta
  18.           var oldValue=null,firstClick=null;
  19.           function onchangeFix(e) {
  20.                 if(!e) e=window.event;
  21.                 var t=e.target || e.srcElement;
  22.                 if(e.type==='mousedown' && !oldValue) oldValue=t.value;
  23.                 else if(e.type==='click') {
  24.                       if(t.value!==oldValue || oldValue===null) {//tutaj kod wykonywany w monecie kiedy wartość selecta się zmieniła
  25.                             $('val').lastChild.innerHTML=t.value;//to możesz sobie skasować, użyłem tylko do przykładowego kodu, odpalanego przy zmianie selecta
  26.                             $('count').lastChild.innerHTML++;//to możesz sobie skasować, użyłem tylko do przykładowego kodu, odpalanego przy zmianie selecta
  27.                       }
  28.                       if((e.srcElement && firstClick) || (e.target && t.nodeName==='OPTION')) {oldValue=null;firstClick=null;}
  29.                       else firstClick=true;
  30.                 }
  31.           }
  32.     </script>
  33.     <select onmousedown="onchangeFix(event);" onclick="onchangeFix(event);" ondeactivate="oldValue=null,firstClick=null;">
  34.           <option value="jajo">Jajo</option>
  35.           <option value="chicken">Chicken</option>
  36.           <option value="cośtam">Cośtam</option>
  37.     </select>
  38.     <p id="val"><span>Zwrócona wartość: </span><span></span></p>
  39.     <p id="count"><span>Ile razy odpalił się skrypt: </span><span>0</span></p>
  40. </body>
  41. </html>


Ten post edytował paziek 23.07.2008, 03:06:45
Go to the top of the page
+Quote Post
jawka7
post 22.07.2008, 21:36:53
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


nie dziala nadal ;/ musze miec funkcje ktora odpala jakas funkcje w javascript po nacisnieciu na ktoras z opcji select orac po najechaniu na obrazek, mam onchange przy obrazku onclick przy select wszysttko dziala pieknie na firefox i na operze, ale ie nadal nic nie rusza ;/

nadal nie mam sposobu na te ie podpowiedzcie co moze byc nie tak;/ w ogule nie lapie onchange ani onclicka ;/


--------------------
Go to the top of the page
+Quote Post
paziek
post 23.07.2008, 03:05:36
Post #6





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


Poprawiłem skrypt.
Teraz działa pod IE oraz FF.

Możesz też spróbować atrybutu onpropertychange, ale z tego co testowałem, to odpala się dwa razy przy zmianie wartości selecta. Czyli jeśli np. masz skrypt, który wysyła dane na serwer przy zmianie selekta, to raczej tego nie używaj.
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: 14.08.2025 - 00:47