Çözüldü JavaScript Koddaki hata nerede?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Fleure

Decapat
Katılım
4 Mart 2023
Mesajlar
369
Daha fazla  
Cinsiyet
Erkek
HTML:
<html>
<head>
    <script type="text/javascript">

        var s =0;
        function artir(){
            deger= document.getElementById("sayi");
            deger.value=s
            s++;
        }
        function azalt(){
            deger= document.getElementById("sayi");
            deger.value=s
            s--;
        }
    </script>

</head>
<body>
    <button type="button" onclick="azalt()">-</button>
    <input type="text" value="0" size="5" id="sayi" name="sayi">
    <button type="button" onclick="artir()">+</button>
</body>
</html>

Böyle bir kod yazdım. Fakat ilk + ya basışımda -1, ilk - ye basışımda +1 kalanlarında ise + basınca +1 , - basınca -1 oluyor. İlk basışta neden öylede öbürlerinde normal ?
 
Son düzenleyen: Moderatör:
Çözüm
Hocam hemen 1 dk bekleyin size kodu atayim.

@Fleure hocam anladığım kadarıyla böyle istiyorsunuz.

JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <button id="at">arttır</button>
 <button id="az">alat</button>
 <h1 id="deger"></h1>
 <hr>
 <h1 style="color: red;" id="deger2"></h1>
 <script>
 let at = document.getElementById("at")
 let az = document.getElementById("az")
 let deger = document.getElementById("deger")
 let deger2 = document.getElementById("deger2");
 let value = 0
 at.addEventListener("click",function(e){
 value++
 deger.innerHTML = value.
 deger2.innerHTML = value.

 e.preventDefault();
 })
 az.addEventListener("click",function(e){
 value--
 deger.innerHTML = value.
 deger2.innerHTML = value.

 e.preventDefault();
 })
 </script>
</body>
</html>

@533388 hocam muhtemelen kod çalışmıyacak çünkü Value'ların yanındaki noktalrı silin.
@Fleure hocam bu kodu deneyin.

JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <button id="at">arttır</button>
 <button id="az">alat</button>
 <h1 id="deger"></h1>
 <script>
 let at = document.getElementById("at")
 let az = document.getElementById("az")
 let deger = document.getElementById("deger")
 let value = 0

 at.addEventListener("click",function(e){
 value++
 deger.innerHTML = value.
 e.preventDefault();
 })
 az.addEventListener("click",function(e){
 value--
 deger.innerHTML = value.
 e.preventDefault();
 })
 </script>
</body>
</html>
EventListener çalışmıyor nedense.
 
@Nizel G bende çalışıyor hocam sorunsuz belki de tarayıcıdan kaynaklı olabilir.
Çalıştırdığım yerle alakalı da olabilir. Siz nasıl denediniz? Tarayıcıyla alakalı olduğunu sanmıyorum, temel bir kod.

 
@Fleure hocam bu kodu deneyin.

JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<body>
 <button id="at">arttır</button>
 <button id="az">alat</button>
 <h1 id="deger"></h1>
 <script>
 let at = document.getElementById("at")
 let az = document.getElementById("az")
 let deger = document.getElementById("deger")
 let value = 0

 at.addEventListener("click",function(e){
 value++
 deger.innerHTML = value.
 e.preventDefault();
 })
 az.addEventListener("click",function(e){
 value--
 deger.innerHTML = value.
 e.preventDefault();
 })
 </script>
</body>
</html>

Lag var çünkü :D

Değer mevcut değeri göstermiyor, bir önceki değeri gösteriyor. Aşağıdaki şekilde güncelle kodunu ki mevcut değeri göstersin.

Kod:
<html>
<head>
    <script type="text/javascript">

        var s = 0;
        function artir(){
            s++;
            deger= document.getElementById("sayi");
            deger.value=s;
        }
        function azalt(){
            s--;
            deger= document.getElementById("sayi");
            deger.value=s;
        }
    </script>

</head>
<body>
    <button type="button" onclick="azalt()">-</button>
    <input type="text" value="0" size="5" id="sayi" name="sayi">
    <button type="button" onclick="artir()">+</button>
</body>
</html>
Arkadaşlar birde ben şöyle bir şeyde istiyorum;
orda + - yaparak mesela orda 7 yazdı ekranımdada 7 yazmasını istiyorum.
Yani daha büyük bi fontta +- nin altında o değerin aynısının tekrarlanmasını istiyorum.
 
Çalışmadan, yorulmadan ve üretmeden, rahat yaşamak isteyen toplumlar; evvela haysiyetlerini, sonra hürriyetlerini daha sonra da istiklal ve istikballerini kaybetmeye mahkumdurlar.” Mustafa Kemal ATATÜRK
"Her tarafta olduğu gibi bizde de yeni hareketler ve cereyanlar karşısında onu hazmedemiyen kuvvetler meydana çıkabilir." Mustafa Kemal Atatürk

Fikir ve beyanlarınızı insanların sorununa çözüm aradığı konular altından yapmayın. Bard ve GPT kodda 3 adet hata olduğunu söylüyor. Bende arkadaşa linkini ilettim.
 
@Nizel G hocam ben kodu vs codeda yazdım Live serverle açtım ama birkaç sitede deneyince bende de çalışmadı.

preventDefault'dan dolayı hata vermiş.

1689592300543.png


Kod:
 at.addEventListener("click",function(e){
 value++
 deger.innerHTML = value;
 })
 az.addEventListener("click",function(e){
 value--
 deger.innerHTML = value;
 })

Bu şekilde çalıştı. H1'i 0 olarak başlatsak görünüş açısından da güzel olur hem.
preventdefault nedir hocam?

"Her tarafta olduğu gibi bizde de yeni hareketler ve cereyanlar karşısında onu hazmedemiyen kuvvetler meydana çıkabilir." Mustafa Kemal Atatürk

Fikir ve beyanlarınızı insanların sorununa çözüm aradığı konular altından yapmayın. Bard ve GPT kodda 3 adet hata olduğunu söylüyor. Bende arkadaşa linkini ilettim.

Konu sahibi ChatGPT'ye sormak istiyorsa sorabilir. Konusu açılıyorsa beyin fırtınası yapılmalı.
 

Technopat Haberler

Geri
Yukarı