鱼C论坛

 找回密码
 立即注册
查看: 3435|回复: 6

[已解决]网上的一段教程代码,不晓得它的流程

[复制链接]
发表于 2020-1-8 08:59:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script>
  6. function validateForm() {
  7.     var x = document.forms["myForm"]["fname"].value;
  8.     if (x == null || x == "") {
  9.         alert("需要输入名字。");
  10.         return false;
  11.     }
  12. }
  13. </script>
  14. </head>
  15. <body>

  16. <form name="myForm" action="demo_form.php"
  17. onsubmit="return validateForm()" method="post">
  18. 名字: <input type="text" name="fname">
  19. <input type="submit" value="提交">     //点击提交后 ,首先判断是否空值,执行的是validateForm()中的 if (x == null || x == "") {  语句,那么输入正确是执行的哪部分呢,哪句代码主管这个东东
  20. </form>

  21. </body>
  22. </html>
复制代码
最佳答案
2020-1-8 10:26:25
1.先执行onsubmit事件,仔细看,return validateForm() 这个是返回执行结果是否成功,成功的话会继续执行,否则,就不执行了
2.再看form中的 action="demo_form.php",这个是提交表单的地址,如果第一步返回了成功,那么,就会向该action提交表单数据。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-1-8 10:26:25 | 显示全部楼层    本楼为最佳答案   
1.先执行onsubmit事件,仔细看,return validateForm() 这个是返回执行结果是否成功,成功的话会继续执行,否则,就不执行了
2.再看form中的 action="demo_form.php",这个是提交表单的地址,如果第一步返回了成功,那么,就会向该action提交表单数据。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-8 10:30:26 | 显示全部楼层
zjz894251se 发表于 2020-1-8 10:26
1.先执行onsubmit事件,仔细看,return validateForm() 这个是返回执行结果是否成功,成功的话会继续执行, ...

function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") {
        alert("需要输入名字。");
        return false;
    }
}
这个函数是默认返回TRUE吗  没看到相关代码啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-8 10:32:30 | 显示全部楼层
本帖最后由 wp231957 于 2020-1-8 10:33 编辑
zjz894251se 发表于 2020-1-8 10:26
1.先执行onsubmit事件,仔细看,return validateForm() 这个是返回执行结果是否成功,成功的话会继续执行, ...


是不是可以这样理解:
<form name="myForm" action="demo_form.php"
onsubmit="return validateForm()" method="post">
这里的onsubmit 并不是必填项目,但是如果有  就优先执行它??

还有  这里的method="post" 和 get 有神马区别吗??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-8 10:34:59 | 显示全部楼层
默认是什么都没返回,这里面其实做了兼容的,false是中断标记,什么都不返回说明无异常,顺序执行。做前端的东西,兼容很重要,null,undefined,false,这3个含义大不一样,仔细品一下。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-8 10:37:21 | 显示全部楼层
wp231957 发表于 2020-1-8 10:32
是不是可以这样理解:

这里的onsubmit 并不是必填项目,但是如果有  就优先执行它??

对,不是必填,又事件监听会优先执行监听。post和get是http协议的两种提交方法,这个百度即可
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-8 10:38:18 | 显示全部楼层
zjz894251se 发表于 2020-1-8 10:37
对,不是必填,又事件监听会优先执行监听。post和get是http协议的两种提交方法,这个百度即可

好的,多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-5 13:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表