JavaScript检查总和是否正确
JavaScript checking to see if a sum is correct
我希望javascript检查用户是否对php生成的两个随机数给出了正确的答案。用户在提供的文本框中手动输入数字。
<input id="number1" name="number1" readonly="readonly" class="Add" value="<?php echo rand(1,4) ?>" /> +
<input id="number2" name="number2" readonly="readonly" class="Add" value="<?php echo rand(5,9) ?>" /> =
<input type="text" name="answerswer" id="number" class="number" maxlength="2" />
<span id="comment"><div class="Lable">Please give the correct answer to the sum</div></span>
JavaScript
<script language="JavaScript">
function validate()
{
if (Contact.answer.value == Contact.number1.value + Contact.number2.value)
{
alert("Wrong answer number")
return false
}
return true;
}
</script>
Iv尝试了一下,但我的JavaScript技能几乎不存在
我假设您在表单的submit
事件(即onsubmit="validate()"
)上调用validate()
。如果没有,则需要以某种方式调用该函数。
其次,你的逻辑是错误的。您要检查答案是否正确(==
就是这样做的),然后在正确时告诉用户答案不正确,在不正确时允许。
改变你的逻辑如下:
function validate()
{
if((parseInt(Contact.number1.value) + parseInt(Contact.number2.value)) == Contact.answer.value)
{
return true;
}
alert("Wrong answer number")
return false
}
请注意,我们还使用parseInt()
来防止JavaScript将值视为字符串,然后将它们与+
文本连接。如果我们不使用parseInt()
,JavaScript将把6
和4
解释为64
,而不是10
。
<script language="JavaScript">
function validate()
{
var answer = parseInt(document.getElementById("number1").value, 10)+parseInt(document.getElementById("number2").value, 10);
var v = parseInt(document.getElementById("captcha").value, 10);
if (answer != v)
{
alert("Wrong answer number")
return false
}
return true;
}
</script>
相关文章:
- 主干-不管怎样,检查事件以前是否绑定过
- 如何让程序检查所选单词中是否有按键
- 用于检查数组中是否存在元素的javascript自定义方法
- 使用 jQuery 检查所有值是否为空或已填充
- 如何检查元素的内容是否为空,如果为空,请在jquery中删除该元素
- 使用map来检查是否为真'不起作用
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 使用onkeyup JS事件检查输入的值是否唯一
- JS数组-检查对象值是否重复
- PhantomJS - 检查javascript函数是否正在运行的任何方法
- 如何使用jQuery可编辑插件检查ajax是否成功完成
- 如何在AngularJS中有效地检查日期是否有效
- 如何检查数组中的对象是否等于选项值
- 检查是否存在使用chrome扩展的javascript库
- 当一些文本粘贴到文本框中时(没有设置超时),是否检查数字
- 如何检查是否检查了分区中的所有单选按钮
- 验证是否检查了1到3个复选框,但id不同
- JavaScript 的类型函数是否检查空值
- 如何知道angularjs中的控制器中是否检查了单选按钮
- 在垃圾收集期间是否检查持久收集