我需要为我的网站构建一个页面,其中只有具有正确验证码的人才能请求用户名和密码。这是我的代码。
<form action="MAILTO:someone@example.com" method="post" enctype="text/plain">
First Name:<br>
<input type="text" name="First" value=""><br>
Last Name:<br>
<input type="text" name="Last" value=""><br>
E-mail:<br>
<input type="text" name="mail" value=""><br>
Desired Username:<br>
<input type="text" name="Username" value="" size="16"><br>
Desired Password:<br>
<input type="text" name="Password" value="" size="16"><br>
Verification Number:<br>
<input type="text" name="VerifyID" value="" size="6"><br><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>
我希望JavaScript代码只允许使用验证码的电子邮件&#34; 053198&#34;发送。任何帮助表示赞赏!
答案 0 :(得分:0)
以下是一个简单示例:
将onsubmit
和ID
添加到form
代码:
<form id="myForm" action="" onsubmit="myFunction()">
JS:
function myFunction() {
var x=document.forms["myForm"]["VerifyID"].value;
if (x == "053198"){
alert("success");
return true;
} else{
alert("failed");
return false;
}
}
注意:这不是最安全的方式,因为用户可以查看页面来源并获取验证码。
<强>更新强>
您可以使用window.location.href =“mailto:mail@domain.com”;在if
语句中,从mailto
代码中删除form
。
<强> JSFiddle Demo 强>
答案 1 :(得分:0)
您也应该在服务器端验证这一点。但是,您可以在客户端验证类似的内容:
在您的验证字段中添加ID,并在您的提交按钮中添加点击事件。
<input type="text" name="VerifyID" id="VerifyID" value="" size="6"><br><br>
<input type="submit" value="Send" onclick="return verify();">
使用以下javascript:
<script>
var verify = function() {
var verificationNumber = document.getElementById('VerifyID');
return verificationNumber.value == '053198';
};
</script>
然而,这不是一个安全的解决方案。在客户端存储该数字意味着机器人可以从您的源中获取它。在服务器端处理这个问题要好得多。