我的联系我们表单中疯狂地收到机器人的垃圾邮件。我已经尝试过,随机安全码,代码必须与您看到的代码匹配。他们绕过了它。我回到谷歌验证码,他们正在绕过它。所以我唯一的想法是创建一个输入字段,他们必须在其中回答问题,并且数字将隐藏在 JS 脚本内。如果号码正确,他们将能够提交表格,如果不正确,他们将无法提交。问题是,JS不是我的强项。有人可以帮我创建一种方法让 JS 检查输入字段是否等于 10 吗?先感谢您。
<script language='javascript' type='text/javascript'>
function check(input) {
if (squest !== 10) {
input.setCustomValidity('Answer is incorrect.');
} else {
// input is valid -- reset the error message
input.setCustomValidity('');
}
}
</script>
<input name="squest" required="required" type="text" id="squest" oninput="check(this)" />
<input type="submit" value="Submit" class="viewbtn" id="btn" name="submit">
最佳答案
squest
引用带有 id="squest"
本身的元素,您应该从中获取 value
。
Non-identity / strict inequality (!==)
The non-identity operator returns true if the operands are not equal and/or not of the same type.
当您使用 non-identity / strict inequality (!==) 时运算符,您应该将值转换为数字。
您还可以使用传递的参数从元素中获取值:
if (Number(input.value) !== 10) {
<script language='javascript' type='text/javascript'>
function check(input) {
if (Number(input.value) !== 10) {
input.setCustomValidity('Answer is incorrect.');
} else {
// input is valid -- reset the error message
input.setCustomValidity('');
}
}
</script>
<form>
<input name="squest" required="required" type="text" id="squest" oninput="check(this)" />
<input type="submit" value="Submit" class="viewbtn" id="btn" name="submit">
</form>
关于JavaScript 输入字段必须等于 JavaScript 代码中隐藏的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60024486/