0

これは、このスレッドの延長です。


私の状況:

  • ユーザーが 10 進数値 (つまり 0.05) を入力し、ユーザーが入力 (または貼り付け) するときにその場で簡単な計算を表示する必要があります。示されている例は、整数に対しては機能しますが、入力フィールドに小数が入力された場合には機能しません。

  • 結果を複数の場所に表示する必要があります。getElementById を getElementByClass に更新するだけでよいと思っていましたが、うまくいきませんでした。

私のコード:

<input type="text" name="capname" id="numberField" value="0.07" maxlength="5" />
<span name="mpd" id="mpdresult" class="mpdresult" ></span>  
<span class="mpdresult" ></span> (second display)

<script>
window.onload = function() {
   var base = 500;
   var numberField = document.getElementById('numberField');
   numberField.onkeyup = numberField.onpaste = function() {
      if(this.value.length == 0) {
         document.getElementById('mpdresult').innerHTML = '';
         return;
      }
      var number = parseInt(this.value);
      if(isNaN(number)) return;
      document.getElementById('mpdresult').innerHTML = number * base;
   };
   numberField.onkeyup(); //could just as easily have been onpaste();
};
</script>
4

3 に答える 3

0
  1. parseFloatの代わりに使用しparseIntます。http://jsfiddle.net/janCY/

  2. そのような機能はありませんgetElementByClass。がありgetElementsByClassName、要素を持つ配列を返します。しかし、なぜJQueryを使用しないのでしょうか?

于 2013-05-21T04:58:10.490 に答える
0

var number = parseFloat(this.value); を使用してください。

var number = parseInt(this.value); の代わりに

于 2013-05-21T04:59:17.283 に答える
0

10 進数に ParseFolat を使用する

document.write(parseFloat("10.33") + "<br>");

ParseFloatSample

于 2013-05-21T04:52:17.873 に答える