Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

NaN not a number dese de inanmayin

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Şimdi bu javascript denilen arkadaşa ekletme yaptırıyoruz. Hani çoklu sepet olayı gibi düşünün, tuşa bastıkça o maldan ekliyor. Bir tanesi <input> icinde sayı arttırıyor. Bir tane de en aşağıda toplam sayı diye html alanını arttırıyor.

-- BU input alanı sorunsuz artış okey --
var num = document.getElementById(var1).value;
document.getElementById(var1).value = parseInt(num) + 1;


-- bunda ise HTML alanını NaN diye update ediyor --
var num2 = document.getElementById(var2).innerHTML;
var total = parseInt(num2) + 1;
document.getElementById(var2).innerHTML = total;

Bu adiliği bir tek Firefox yapıyor, IE uslu uslu yapıyor işlemi. Firefox value'ya ok, innerHTML gelince neden böyle bir gereksizlik içerisinde.
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Şimdi firefox böyle bir adilik peşinde diye, kocaman uygulamayı çöpe atıp başkasını mı kullanayım bunu mu diyorsun bana >:[
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Valla uygulamanın kocamanlığını bilmem ama, verdiğim linkteki olay çok hosuma gitti ondan gösterdim :p Senin uygulamanı çöpe mi atarız, fakirlere mi dağıtırız bilmem artık :p
 

sempaty

1
Onaylı Üye
Üye
Katılım
25 Şubat 2005
Mesajlar
3,824
Açılan Konu
87
Tepki puanı
20
Konum
hawaii. ama sanal tur.
emin değilim ama doctype dan dolayı yapmıyor olabilir

Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

bunu ayarlayıp denermisin
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
Tum getElementById(var2) islemlerini tirnak icine almayi dene. getElementById('var2') seklinde.
 

sempaty

1
Onaylı Üye
Üye
Katılım
25 Şubat 2005
Mesajlar
3,824
Açılan Konu
87
Tepki puanı
20
Konum
hawaii. ama sanal tur.
Tum getElementById(var2) islemlerini tirnak icine almayi dene. getElementById('var2') seklinde.

var2 bir objenin id i olsa sorun değil ama orda yanılmıyorsam fonksiyona bağlı bir değişken. tabi orda var2 yerine direk objenin adı tırnak içinde yazılabilir örneğin;

<div id="deneme"> </div>
için
getElementById('deneme')
gibi
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO

Tmmz

0
Onaylı Üye
Üye
Katılım
1 Mayıs 2007
Mesajlar
40
Açılan Konu
8
Tepki puanı
0
Kod:
 <div id="a">25</div>
  <script language="javascript">
  var num2 = document.getElementById("a").innerHTML;
  var total = parseInt(num2) + 1;
  alert(total)
  document.getElementById("a").innerHTML = total  
</script>
ff bende de sorunsuz çalışıyor
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Sorun <div> in içindeki rakamın <b>RAKAM</b> formatında olmasıymış. IE parseInt() yaparken arasından alabiliyor, firefox NaN döndürüyor. bold tagları replace edince çalıştı, bu fonksiyonlarda bir standardizasyon olması gerekmiyor mu, sevmiyorum bu işleri.
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
Sorun <div> in içindeki rakamın <b>RAKAM</b> formatında olmasıymış. IE parseInt() yaparken arasından alabiliyor, firefox NaN döndürüyor. bold tagları replace edince çalıştı, bu fonksiyonlarda bir standardizasyon olması gerekmiyor mu, sevmiyorum bu işleri.

IE standart değil.
Uygulama yazarken firefox ile çalışmak en iyisi, onda çalışınca pekçok tarayıcıda çalışır. Operanın biraz aksiliği var ama o kadar.
 

sempaty

1
Onaylı Üye
Üye
Katılım
25 Şubat 2005
Mesajlar
3,824
Açılan Konu
87
Tepki puanı
20
Konum
hawaii. ama sanal tur.
ama ne yazık ki ziyaretçiler(imiz) yüksek oranda ie kullanmakta
 
Üst