これは、このスレッドの延長です。
私の状況:
ユーザーが 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>