【发布时间】:2014-02-16 06:05:42
【问题描述】:
我是 JavaScript 新手,我还在摸索中。
我已经在网上搜索过这个,但我不太确定我应该使用什么关键字。我正在使用 html 和 JS 创建一些带有随机数的程序。
所以在我的 javascript 中(在标签内) 我有类似的东西:
var x;
function initRandom() { // I run this function at loading time (i.e: <body onload="initRandom();">)
x = Math.random();
}
function checkGuessedNumber() { // this just checks if the number guessed by the user is == to x and displays "correct" in a div if it is correct otherwise "incorrect"
}
所以我遇到的主要问题是
- html 元素在提交后被重置。例如,文本字段变为空白,我在 div 中显示的内容变为空白。它只显示一小段时间然后被重置
- 之后,生成的数字变成不同的数字我认为每次单击提交时html页面都会重新加载一次。而且我不喜欢这种情况发生。
我感到困惑的是 onClick() 属性的 return 语句,以及它在没有 return 的情况下有何不同。请参阅以下示例:
代码1:
<form onsubmit="return checkGuessedNumber();">
<input type="text"> // input for the number
<input type="submit"> // click if already sure of input number above
</form>
代码2:
<form onsubmit="checkGuessedNumber();"> // notice no return here
<input type="text">
<input type="submit">
</form>
最后,如果我将checkGuessedNumber 放在<input type="submit" onclick="checkGuessedNumber();"> 上,或者在此之前有一个return。
【问题讨论】:
-
如果您不打算接收数据并将其存储到数据库或将其传输到电子邮件,请不要使用 onsubmit。我只会在表单之外使用常规按钮,甚至是 div。
-
顺便说一句,函数 checkGuessedNumber 不返回任何内容,只是在 div 中打印一些内容,表明您是否猜到了随机数。
-
感谢@AlienArrays 的提示。所以我应该只使用按钮 onclick="checkGuessedNumbers();"或按钮 onclick="return checkGuessedNumbers();"
-
我只会在此处执行
-
是的,我明白了,但是当我使用
标签: javascript html onclick return onsubmit