我刚刚开始学习JavaScript,并且我了解一些有关JavaScript的知识。我尝试使用Math.random()和Math.round()来生成介于0到9999之间的数字,并且我也成功了,而且我也知道.padStart函数,所以我想我可以尝试制作一个PIN生成器来取乐
这是我的剧本。如果不好,我很抱歉,因为我是Java语言新手。 :P
<center><button type="button" onclick="var random = Math.random();
var number = Math.round(random * 9999)
document.getElementById("pin").innerHTML = number.padStart(4, "0");">Generate!</button></center>
<center><h3 id="pin"><font face="Verdana" color="white">####</font></h3></center>
我不认为.padStart适用于变量,并且在按下按钮时在控制台中出现此错误:
techguy201.github.io/:13未捕获的SyntaxError:输入意外结束
第13行是我的标签。
该网站位于Techguy201.github.io/pins 有人可以提供解决方法或解决我犯的错误吗?
答案 0 :(得分:0)
从技术上讲,这可以解决您的问题,但是您绝对不要这样做。您的设置有些问题。
RewriteRule "^/setting/(.*)$" "settings.php$1" [L, PT]
从技术上讲,这个问题是Escaping double quotes in JavaScript onClick event handler的重复,但是真正的问题是您试图直接在onclick处理程序中编写代码。直接在DOM中的这种Javascript样式已被放弃。对于这种特定情况,最简单的更改是在页面上添加 <center><button type="button" onclick="var random = Math.random();
var pin = Math.round(random * 9999);
document.getElementById("pin").innerHTML = new String("0000" + pin).slice(-4);">Generate!</button></center>
标签,并在其中编写Javascript。
<script>
答案 1 :(得分:0)
您是否尝试过substring
方法?
JS:
var random = Math.random();
var number = Math.round(random * 9999)
document.getElementById('pin').innerHTML = number.substring(0, 4);
还要注意,在您的代码中,"
属性和JS使用了onclick
。当您拥有...document.getElementById("...
时,"
结束了onclick
属性。如果您要在属性中使用"
,请使用\"
或'
避免这样的错误(例如我的回答)。另外请注意,如果您要在脚本标签或.js文件中编写JS,则不要这样做,因为这是不必要的。