Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js]Problem ze skryptem pod ie
Fixus
post
Post #1





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


Witam...mam taki kod
  1. function makeCheck(thisForm, checkType)
  2. {
  3.  
  4. for(i in thisForm.elements)
  5. {
  6. if(thisForm.elements[i].name.substr(0,6)=='option')
  7. {
  8. thisForm.elements[i].checked=checkType;
  9. }
  10. }
  11. }
  12.  
  13. function makeUncheck(thisForm)
  14. {
  15. for(i in thisForm.elements)
  16. {
  17. if(thisForm.elements[i].name.substr(0,6)=='option')
  18. {
  19. thisForm.elements[i].checked=false;
  20. }
  21. }
  22. }


odwołuje się do funkcji w ten sposób
  1. <input type="button" value="Check All" class="button" onclick="makeCheck(this.form, true)">


Teraz problem polega na tym, że pod FF skrypt działa bardzo dobrze. Klikam, zaznaczają się wszystkie checkboxy i wszyscy są zadowoleni. Jednak pod IE nie działa to wogóle. Nie wiem w czym jest problem, sprawdziłem ustawienia przeglądarki i JavaScript jest napewno włączony. Czy ktoś wie jak temu zaradzić?
Go to the top of the page
+Quote Post
webasek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Nie bardzo rozumiem po co to?

this.form

lepiej może użyć nazwy formularza? Może to pomoże? A czy w IE wywala jakiś błąd javascripts? Bo jeśli masz więcej skryptów to nie koniecznie ten jest zły. Poza tym sgeruje zastosowanie alert do sprawdzenia, która linijka sprawia mu problem


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
Fixus
post
Post #3





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


czyli zamiast: this.form zrobić form.name.nazwaFormularza questionmark.gif

Nie to jest jedyny js na stronie...jedyne co wyświetla na stronie, a raczej an dolny pasku to napis Błąd strony

a jak skutecznie skorzystać z alerta? wystarczy że dam gdziesz alert()? bo gdybym programował jakąś aplikację to bym sprawdził czy wartość logiczna funkcji wynosi true jeśli nie to zwrócił komunikat, ale nie wiem jak to zrobić w js tongue.gif
Go to the top of the page
+Quote Post
kevinsz
post
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 26.04.2007

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


Z tego co wiem, to IE ma problemy z tą linijką
  1. for(i in thisForm.elements)


Wystarczy zmienić na
  1. for(i = 0; i < thisForm.elements.length; i++)
Go to the top of the page
+Quote Post
webasek
post
Post #5





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Kliknij tam gdzie pisze błąd w ie i zobaczysz która linijka nawala co do alerta to po prostu wstawiaj alert('tutaj'); po kazdej linii ale po kolei najpierw na początku itd... jeśli nie pójdzie od razu to kasuj najpierw wszystkie linie z kodu i dodawaj po jednej w ten sposób dojdziesz gdzie błąd.

Nie użyj tego tak document.nazwaformularza.elements ...

lub document.nazwaformularza.nazwapola ...


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
Fixus
post
Post #6





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


kevinsz poskutkowało. Wielkie dzięki. Webasek też dzięki za rady
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 - 10:28