2017-03-13 5 views
1

so habe ich ein bisschen das Problem. Ich versuche eine Funktion zu machen in der: Mensch klickt auf Eingabefeld mit der Maus und tippt einige Zufallszahlen in Bytes ein und diese Zahl soll konvertiert und in zwei anderen Kästchen wie MegaBytes und KiloBytes angezeigt werden. Also mein Problem ist, dass Javascript zeigt mir Fehler:javaScript stecken geblieben mit der Konvertierung von Bytes

kann nicht eingestellt Eigenschaft 'Wert' von null
bei convert (script.js: 7)
bei HTMLInputElement.onkeyup

hier ist mein bisher Code:

function convert(inputas) 
{ 
    var i; 
    if(inputas == "B") 
    { 
     i = document.getElementById("baitas").value/1000; 
     document.getElementById("kiloBaitas").value = i; 
    } 
    else if(inputas == "KB") 
    { 
     i = document.getElementById("kiloBaitas").value * 1024; 
     document.getElementById("baitas").value = i.toFixed(2); 
    } 
} 

HTML-Code:

<input type="text" id="baitas" onkeyup="convert('B')placeholder="Bits"> 
<input type="text" id="kilobaitas"  
`onkeyup="convert('KB')"placeholder="Kilobits"> 
<input type="text" id="megabaitas" onkeyup="convert('MB')" 
placeholder="Mbits"> 
<script src="script.js"></script> 
+1

Wo ist Ihr HTML-Code? –

+0

Wenn dieses Skript ausgeführt wird, gibt es im Dokument kein Element mit der ID 'kiloBaitas' oder' baitas' (abhängig vom Wert von "inputs") – Phil

+0

@Kinduser Ich habe oben meinen HTML-Code hinzugefügt, vielleicht hilft das. – Lucas

Antwort

1

beim Vergleich Ihres Javascript mit dem HTML. Das Kilobaitis-Element wird nicht mit einem konsistenten Fall geschrieben.

+0

Jesus, Kumpel ..... danke: D wie ich das nicht bemerkt habe .... – Lucas

1

JavaScript ist case sensitive.

function convert(inputas) { 
 
    var i; 
 
    if (inputas == "B") { 
 
    i = document.getElementById("baitas").value/1000; 
 
    document.getElementById("kilobaitas").value = i; 
 
    } else if (inputas == "KB") { 
 
    i = document.getElementById("kiloBaitas").value * 1024; 
 
    document.getElementById("baitas").value = i.toFixed(2); 
 
    } 
 
}
<input type="text" id="baitas" onkeyup="convert('B')" placeholder=" Bits "> 
 
<input type="text " id="kilobaitas" onkeyup="convert('KB')" placeholder="Kilobits "> 
 
<input type="text " id="megabaitas" onkeyup="convert('MB')" placeholder="Mbits ">

+0

yeah, Kumpel gerade gesehen es, nach langen 12h, Ich bin so eine schlafende Schönheit, dass ich nicht bemerkt habe, dass meine Rechtschreibung falsch war, danke, Kumpel :) – Lucas

+0

cha .. Sie auch, Kumpel;) – Lucas

0

(function() { 
 

 
var elems = [], 
 
    elemsId = ['baitas','kilobaitas','megabaitas']; 
 

 
function fix(a){ return (a * 100 | 0)/100 } 
 

 
function convert(inputas) 
 
{ 
 
    var i; 
 
    switch(inputas) 
 
    { 
 
     case 0: 
 
      i = elems[0].value; 
 
      elems[1].value = fix(i/1024); 
 
      elems[2].value = fix(i/1048576); 
 
      break; 
 
     case 1: 
 
      i = elems[1].value; 
 
      elems[0].value = i * 1024; 
 
      elems[2].value = fix(i/1024); 
 
      break; 
 
     case 2: 
 
      i = elems[2].value; 
 
      elems[0].value = i * 1048576; 
 
      elems[1].value = i * 1024; 
 
      break; 
 
    } 
 
} 
 

 
for (var i=0; i < elemsId.length; i++) 
 
{ 
 
    elems[i] = document.getElementById(elemsId[i]); 
 
    elems[i].addEventListener('keyup', convert.bind(null, i)) 
 
} 
 

 
}());
<input type="text" id="baitas" placeholder=" Bits"> 
 
<input type="text" id="kilobaitas" placeholder=" Kilobits"> 
 
<input type="text" id="megabaitas" placeholder=" Mbits">

Verwandte Themen