博客列表 >禁用表单默认提交和登录验证

禁用表单默认提交和登录验证

皮皮志
皮皮志原创
2022年11月10日 13:05:52482浏览
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <link rel="stylesheet" href="/1109/form.css">
  9. </head>
  10. <body>
  11. <!-- <form action="login.php" method="post" id="login" onsubmit="return false"> -->
  12. <form action="login.php" method="post" id="login">
  13. <label class="title">用户登录</label>
  14. <label for="email">邮箱:</label>
  15. <input type="email" id="email" name="email" value="" autofocus />
  16. <label for="password">密码:</label>
  17. <input type="password" id="password" name="password" />
  18. <!-- <button name="submit" type="button">登录</button> -->
  19. <button name="submit" >登录</button>
  20. </form>
  21. <!--
  22. 1.form.onsubmit = 'return false';
  23. 2.button默认的type属性是submit,此时让type的属性是button时也会禁用
  24. 3.
  25. -->
  26. <script>
  27. document.forms.login.submit.onclick = function (ev) {
  28. console.log(ev);
  29. ev.preventDefault();
  30. ev.stopPropagation();
  31. console.log(ev.target)
  32. console.log(this);
  33. console.log(ev.currentTarget);
  34. console.log(ev.target === ev.currentTarget);
  35. console.log(this === ev.target);
  36. /**
  37. * * 当前事件主体的3种形式
  38. * * 1. ev.target
  39. * * 2. ev.currentTarget
  40. * * 3. this
  41. * 三者是完全一致的
  42. */
  43. console.log(this.form);
  44. let email = this.form.email
  45. let password = this.form.password
  46. if (email.value.length===0 || password.value.length ===0) {
  47. alert("必填项不可为空")
  48. }else if(email.value.indexOf("@") === -1 || password.value.length<=8){
  49. alert(`请检查你的必填项是否正确,可能有以下几种情况:\n1.邮箱需要是正确的邮箱\n2.密码需要最少8位`)
  50. }
  51. }
  52. </script>
  53. </body>
  54. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议