将html <input type =“submit”/>传递给js变量

时间:2014-03-14 18:57:56

标签: javascript html forms

我是一名新编码学生,我很难自己做一个简单的投币应用程序。我希望用户输入n次数的投掷,然后让js脚本投掷硬币n次。正如我在JSFiddle中所做的那样,我剪切了表单元素,因为postget会抛出错误。我现在的问题是我无法将#myFlips的值存储为var i。任何帮助表示赞赏。

http://jsfiddle.net/Adam262/Fxrs3/3/

以下是我的HTML:

<input type="number" id="myFlips" min="1" placeholder="How many flips?" 
onchange="save()">

<input type="submit" id="submit">

我的js:

function save() {
var i = document.getElementById("myFlips").value;}

function coin(i) {
return Math.floor(Math.random() * 2);}


while (i > 0) {
if (coin(i) == 1) {
    alert("Heads!");
} else alert("Tails!");
i--;}

1 个答案:

答案 0 :(得分:0)

var关键字将变量范围限定为函数。

save运行时,您为i分配一个值,然后该功能结束。 <{1}}不再适用于任何事情,因此会收集垃圾。

i放在函数外部,然后从函数中删除var i


如果我们查看您的实例(请在问题中输入足够的代码来重现您的问题),那么您还需要在函数内部移动var循环并调用它适当的时间。

您还在另一个函数(while)中定义函数,因此它们不是全局变量,因此内部事件处理程序属性无法看到它们(它们超出范围)。

请勿使用内在事件属性add your event handlers with JS