2017-03-13 6 views
1

の変換が残っていますので、少し問題があります。私はマウスで入力ボックスをクリックし、いくつかの乱数をバイトで入力し、その数を変換してMegaBytesやKiloBytesなどの2つの他のボックスに表示する必要があります。JavaScriptにはバイト

コンバートでヌル
のプロパティ '値' を設定することはできません(script.js:7)
HTMLInputElement.onkeyup

でここに私がいるので、私の問題は、Javascriptがエラーが私を示すことですこれまでコード:

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コード:

<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

どこHTMLコードですか? –

+0

このスクリプトが実行されると、IDに 'kiloBaitas'または' baitas'の要素がありません( 'inputas'値に依存します) – Phil

+0

@Kinduser上記のHTMLコードを追加しました。これはおそらく役に立ちます – Lucas

答えて

1

あなたのjavascriptとhtmlを比較すると一貫性のある症例では、潰瘍性腸炎の要素には綴られていません。

+0

イエス、メイト.....ありがとうございました:どのように私は気づいていなかった.... – Lucas

1

JavaScriptは大文字と小文字の区別です。

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

ええ、ちょうどそれを見て、私は私のスペルが間違っていたことに気付かなかったような眠りの美しさです、ありがとう、仲間:) – Lucas

+0

cha ..あなたも、バディ;) – 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">

関連する問題