我有一个表单,我需要使用它中的操作。 一个用于获取在字段中输入的信息并将用户重定向到另一个页面,另一个用于检查电子邮件验证。 电子邮件验证用于第一个字段,另一个字段是正常的 这是我的代码:
<form name="myform" class="login" action="getinfo.php" method="POST">
<input name="f1" type="text" placeholder="email" autofocus/>
<input name="f2" type="password" placeholder="example2"/>
&#13;
function validateForm() {
var x = document.forms["myForm"]["email"].value;
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Not a valid e-mail address");
return false;
}
我不知道如何在一个表单中使用两个动作 在此先感谢,希望我简明扼要。
答案 0 :(得分:2)
为了达到你想要的效果,同时尽可能地保持你所拥有的,你可以做到:
function validateForm() {
var x = document.forms["myform"]["f1"].value; //changed to "myform" and "f1"
var atpos = x.indexOf("@");
var dotpos = x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
alert("Not a valid e-mail address");
return false;
}
}
&#13;
<!--onsubmit handler added to <form> -->
<form name="myform" class="login" action="getinfo.php" method="POST" onsubmit="return validateForm()">
<input name="f1" type="text" placeholder="email" autofocus/>
<input name="f2" type="password" placeholder="example2"/>
<input type="submit"> <!--submit button was missing -->
</form>
&#13;
请注意,重要的部分是提交表单时运行的提交处理程序,如果您希望提交表单,则返回true
,否则返回false
。
在服务器端进行验证也很重要,否则任何用户都可以禁用javascript并绕过验证。 作为旁注,将电子邮件输入的类型更改为电子邮件已经迫使浏览器进行验证,这更容易。