绑定DOM对象属性来触发事件处理函数

r囧r小猫 2022-05-12 00:44 187阅读 0赞

一 介绍

在处理Javascript的监听事件处理函数时,常用到两种方式:

1、通过绑定HTML元素的属性

2、通过绑定DOM对象属性

本篇介绍第2种方式来进行监听事件处理

二 代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
  5. <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
  6. <title> JavaScript校验表单 </title>
  7. </head>
  8. <body>
  9. <div>
  10. <h2>数据校验表单</h2>
  11. <form method="post"
  12. id="register" name="register" action="#">
  13. 用户名:<input type="text" name="user" /><br />
  14. 密 码:<input type="password" name="pass" /><br />
  15. 电 邮:<input type="text" name="email" /><br />
  16. <input type="submit" value="提交" />
  17. </form>
  18. </div>
  19. <script type="text/javascript">
  20. // 为字符串增加trim方法,使用正则表达式截取空格
  21. String.prototype.trim = function()
  22. {
  23. return this.replace( /^\s*/, "" ).replace( /\s*$/, "" );
  24. }
  25. // 负责处理表单submit事件的函数
  26. var check = function()
  27. {
  28. // 访问页面中第一个表单
  29. var form = document.forms[0];
  30. // 错误字符串
  31. var errStr = "";
  32. // 当用户名为空
  33. if (form.user.value == null
  34. || form.user.value.trim() == "")
  35. {
  36. errStr += "\n用户名不能为空!";
  37. form.user.focus();
  38. }
  39. // 当密码为空
  40. if (form.pass.value == null
  41. || form.pass.value.trim() == "")
  42. {
  43. errStr += "\n密码不能为空!";
  44. form.pass.focus();
  45. }
  46. // 当电子邮件为空
  47. if (form.email.value == null
  48. || form.email.value.trim() == "")
  49. {
  50. errStr += "\n电子邮件不能为空!";
  51. form.email.focus();
  52. }
  53. // 使用正则表达式校验电子邮件的格式是否正确
  54. if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
  55. .test(form.email.value.trim()))
  56. {
  57. errStr += "\n电子邮件的格式不正确!";
  58. form.email.focus();
  59. }
  60. // 如果错误字符串不为空,表明校验出错
  61. if( errStr != "" )
  62. {
  63. // 弹出出错信息
  64. alert(errStr);
  65. // 返回false,用于阻止表单提交
  66. return false;
  67. }
  68. }
  69. // 为第一个表单的onsubmit绑定事件处理器
  70. document.forms[0].onsubmit = check;
  71. </script>
  72. </body>
  73. </html>

三 运行结果

5e2f2500-075a-39bf-b31a-260646175351.png

四 运行说明

当采用DOM对象绑定事件处理函数时,开发者无需修改HTML页面,只需要修改js文件即可,这样更利于团队协作。

发表评论

表情:
评论列表 (有 0 条评论,187人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JqueryEnter键触发事件

    当我们在使用搜索功能时,输入搜索内容后,总希望向某些网站一样,点击enter键之后就自动触发搜索按钮,不用去手动点击.其实实现这一功能很简单。 首先我们需要知道的是,ente