我试图点击按钮时只能将数值复制到文本框中而不是字符。有人可以帮帮我吗?
HTML
<div class="more">
<div id="dvDistance">
10 kms
</div>
<input type="number" id="firstNumber" />
<script>
function copyText() {
var output = document.getElementById("dvDistance").innerHTML;
document.getElementById("firstNumber").value = output;
}
</script>
<input type="button" onClick="copyText();" Value="Multiply" />
</p>
</div>
答案 0 :(得分:1)
最简单的假设只有前导空格
document.getElementById("firstNumber").value = parseInt(output,10);
因为parseInt会找到该号码并忽略其后的任何内容
function copyText() {
var output = document.getElementById("dvDistance").innerHTML;
document.getElementById("firstNumber").value = parseInt(output, 10);
}
&#13;
<div class="more">
<div id="dvDistance">
10 kms
</div>
<input type="number" id="firstNumber" />
<input type="button" onClick="copyText();" Value="Multiply" />
</p>
</div>
&#13;
答案 1 :(得分:1)
用户parseInt仅复制数值。
var a = "10 a";
document.getElementById('result').innerHTML = parseInt(a);
<p id="result"></p>
答案 2 :(得分:0)
如果您只期望值中有空格,则可以使用trim
删除前导和尾随空格。
output.trim()
您可以使用正则表达式\d+
从字符串中提取数值。 \d+
将匹配一个或多个数字。
output.match(/\d+/)[0];
或者,您也可以从字符串
中替换非数字值output.replace(/\D/g, '');
我建议您使用
<input type="number" name="firstNumber" />
<input type="text" name="firstNumber" pattern="\d+" />