Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> firefox i alert() wewnątrz funkcji, Problem z funkcją alert() w Firefox
ArturS
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 8.01.2006
Skąd: Zabrze

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


Mam taki oto problem: w poniższej funkcji umieściłem na końcu alert, który powinien wyświetlić pewien tekst i robi to, ale nie pod Firefoxem. Jeśli umieszczę alert'a poza ciałem funkcji, wówczas jest ok. Co jest z Firefoxem nietak, że zatrzymuje w tym wypadku to zdarzenie i jak w inny sposób można sobie z tym poradzić? Czy może coś tu skaszaniłem blink.gif

Kod
function sprawdz_imei(numer) {
    var cd = 0;
    var imei = numer.value;
    for (var i=0;i<13;i++) {
  cd += (imei.charAt(i) * 1);    
  i++;
  cd += (imei.charAt(i)<5)?(2 * imei.charAt(i)) : ((((2 * imei.charAt(i))-10)*1) + (1));
    }
    var suma = ((cd % 10) < 1)?0:10-(cd%10);
    var inf = (imei.charAt(14) == suma)?"prawidłowy":"nieprawidłowy!!!";
    alert("Suma kontrolna = "+suma+"\nIMEI jest "+inf)
}

Proszę używać bbcode
poprawiam
-----
nospor
Go to the top of the page
+Quote Post
ghostrider
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


skrypt prawdopodobnie nie dociera do lini z alertem
w FF masz konsole JS, Toos-> JavaScript Console
tam znajdziesz odpowiedz

mnie sie wydaje ze imei nie zawsze jest Stringiem, i charAt nie zadziala
Kod
imei = new String(numer.value);


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
ArturS
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 8.01.2006
Skąd: Zabrze

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


Problem tkwi tak na prawdę nie w tym co funkcja oblicza. Jeśli umieszczę w dowolnym miejscu np alert("Hello") to też nic z tego. hmmm.. w sumie to teraz mnie tak naszło pytanie czy problemem jest nie funkcja, ale to jak się ją wywołuje, a mianowicie



<INPUT type="text" size="15" maxlength="15" name="nr_imei"><BR>
<BR><INPUT type="button" value="Sprawdź" onclick="sprawdz_imei(nr_imei)">

Może Firefox inaczej obsługuje zdażenie onClick i w ogóle funkcji nie wywołuje??

Co do tego czym jest IMEI to raz traktowany jest jako string, raz jako liczba (w sensie wskazanego znaku) i do wydaje się działać odpowiednio, bo uruchomione poza funkcją działa ok.
Go to the top of the page
+Quote Post
SHiP
post
Post #4





Grupa: Zarejestrowani
Postów: 697
Pomógł: 47
Dołączył: 19.12.2003
Skąd: Lublin

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


No cóż moim zdaniem po prostu powinieneś inaczej odwoływać sie do pola w formularzu ;]
Kod
<INPUT type="button" value="Sprawdź" onclick="sprawdz_imei(document.nazwa_formularza.nr_imei)">


Jaką masz wersje FireFoxa?
U mnie kod dziala bez problemu pod Opera i FF:
Kod
<head>
<script language="javascript">
function sprawdz_imei(numer)
{
  var cd = 0;
  var imei = numer.value;
  for (var i=0;i<13;i++)
  {
    cd += (imei.charAt(i) * 1);
    i++;
    cd += (imei.charAt(i)<5)?(2 * imei.charAt(i)) : ((((2 * imei.charAt(i))-10)*1) + (1));
  }
  var suma = ((cd % 10) < 1)?0:10-(cd%10);
  var inf = (imei.charAt(14) == suma)?"prawidłowy":"nieprawidłowy!!!";
  alert("Suma kontrolna = "+suma+"\nIMEI jest "+inf)
}

</script>
</head>
<body>

<form name="forma">
<INPUT type="text" size="15" maxlength="15" name="nr_imei"><br/><br/>

<INPUT type="button" value="Sprawdź" onclick="sprawdz_imei(document.forma.nr_imei)">
</form>

</body>


--------------------
Warsztat: Kubuntu, PhpStorm, Opera
Go to the top of the page
+Quote Post
ArturS
post
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 8.01.2006
Skąd: Zabrze

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


O jessuuu withstupidsmiley.gif Wstyd się przyznać, ale należało by to zrobić i zakończyć wątek. Cały problem spowodowany był zwykłym zagapieniem i nie ujęciem znaczników < input > wewrątrz < form >

<form method="POST">
<INPUT type="text" size="15" maxlength="15" name="nr_imei"><BR>
<INPUT type="submit" value="Sprawdź" onclick="sprawdz_imei(nr_imei)">
</form>

Tyle wystarczy. Dzięki wielkie :-)

Pozdrawiam
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: 20.08.2025 - 11:51