请问javascript,如何按下button后,在一个文本框里产生一个随机数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问javascript,如何按下button后,在一个文本框里产生一个随机数。相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<meta charset="utf-8">
<title>随机数</title>

<label for="min">取值范围:</label>
<input name="min" id="min" value="0">
-
<input name="max" id="max" value="99">
<br>
<br>
<label for="length">小数位数:</label>
<input name="length" id="length" value="0">
<br>
<br>
<input name="random" id="random" readonly="readonly">
<input type="button" id="generator" value="生成">

<script>
var randomBtn = document.getElementById('generator'),
    minInput = document.getElementById('min'),
    maxInput = document.getElementById('max'),
    randomInput = document.getElementById('random'),
    lengthInput = document.getElementById('length');

on(randomBtn, 'click', function()
    var maxValue = parseInt(maxInput.value),
        minValue = parseInt(minInput.value),
        length = parseInt(lengthInput.value);

    randomInput.value = randomRange(minValue, maxValue, length);
);

function on(element, event, callback)
    if (element.addEventListener) 
        element.addEventListener(event, callback, false);
     else if (element.attachEvent) 
        element.attachEvent('on'+event, callback);
     else 
        element['on'+event] = callback;
    


function randomRange(min, max, length)
    min = +min;
    max = +max;
    length = +length;

    var r = Math.random() * (max-min) + min;
    return (+r).toFixed(length||0);

</script>

参考技术A

随机数有什么要求的吗?还是说随便一个数都行?这样的话看代码:

<input type="text" value="" id="input1" />
<input type="button" value="button" onclick="document.getElementById('input1').value=Math.random()" />

追问

我把onclick后面设了一个function为什么就不行呢?

追答

代码贴出来我看看是什么原因

追问

谢谢了,大神

追答

document.getElementById这个要注意大小写,你看你写的全变成小写了,一定要注意,哪里要大写哪里要小写不能错,Math也要开头大写。
js的函数是需要区分大小写的,命名规范一般是驼峰式命名,你下次如果不知道这个js的函数是哪里需要大写或小写的,你先查一下资料或网上百度一下这个函数。

追问

没用啊,还是没反应。。。。

追答

那你把你的js代码放到最下面,html标签的底部

追问

什么意思?不要?

追答<html>
<meta charset="utf-8" />
<head>
</head>
<body>
<input type="text" value="" id="input1" />
<input type="button" value="button" onclick="rolldice()" />
</body>
<script>
function rolldice()document.getElementById('input1').value=Math.random() 
</script>
</html>

你照着这个代码来看你的代码和这个有什么不同

本回答被提问者采纳

javascript按钮onclick按下只能工作一次

我是Javascript的新手,有以下问题:

HTML:

<div id="button"></div>

JS:

for (var items in $scope.data.users){
    if ($scope.data.users.hasOwnProperty(items)) {
        document.getElementById("button").innerHTML += "<button onclick='console.log(5)'>"+items+"</button>";
        console.log(items);
    }
}

到目前为止,我的json对象中的所有用户都被读取并且为每个项目创建了一个按钮,当我单击一个按钮时,它会在控制台中显示正确的测试“5”。但是,当我重复点击时,出现错误,我不知道为什么......

答案

我认为您的数组或范围在click事件上已更改。

虽然以下示例不是用(我相信)您的Angular模块编写的,但它确实可以工作并迭代列表,创建按钮并且不会抛出任何错误或异常。基本上它是具有不同数组的相同代码。试着找出它和你自己的代码之间的区别。

我改变的唯一一件事就是让$scope.data.users成为一个整数数组。

let arr = [1, 2, 3];

for (var items in arr){
    if (arr.hasOwnProperty(items)) {
        document.getElementById("button").innerHTML += "<button onclick='console.log(5)'>"+items+"</button>";
        console.log(items);
    }
}
<div id="button"></div>

以上是关于请问javascript,如何按下button后,在一个文本框里产生一个随机数。的主要内容,如果未能解决你的问题,请参考以下文章

请问javascript如何实现控件响应键盘事件?

javascript按钮onclick按下只能工作一次

请问在android的listView中怎么动态加入radioButton和Button按钮?

Qt新手,请问如何控制button的文字

delphi button如何实现按键按下暂停 再按下启动

按下按钮后如何使图片出现在单元格中