wp231957 发表于 2020-1-8 08:59:24

网上的一段教程代码,不晓得它的流程

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>
function validateForm() {
    var x = document.forms["myForm"]["fname"].value;
    if (x == null || x == "") {
      alert("需要输入名字。");
      return false;
    }
}
</script>
</head>
<body>

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

</body>
</html>

zjz894251se 发表于 2020-1-8 10:26:25

1.先执行onsubmit事件,仔细看,return validateForm() 这个是返回执行结果是否成功,成功的话会继续执行,否则,就不执行了
2.再看form中的 action="demo_form.php",这个是提交表单的地址,如果第一步返回了成功,那么,就会向该action提交表单数据。

wp231957 发表于 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吗没看到相关代码啊

wp231957 发表于 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 有神马区别吗??

zjz894251se 发表于 2020-1-8 10:34:59

默认是什么都没返回,这里面其实做了兼容的,false是中断标记,什么都不返回说明无异常,顺序执行。做前端的东西,兼容很重要,null,undefined,false,这3个含义大不一样,仔细品一下。

zjz894251se 发表于 2020-1-8 10:37:21

wp231957 发表于 2020-1-8 10:32
是不是可以这样理解:

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


对,不是必填,又事件监听会优先执行监听。post和get是http协议的两种提交方法,这个百度即可

wp231957 发表于 2020-1-8 10:38:18

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

好的,多谢
页: [1]
查看完整版本: 网上的一段教程代码,不晓得它的流程