form表单的默认⾏为
有如下⼀段结构:
大连服装节
<!DOCTYPE html>
崩溃近义词<html>
<head>
<meta chart="UTF-8">
<title></title>
</head>
<body>
<form id="form_test"action="/myurl"method="post">碰碰车游戏
⽤户名:<input type="text"value=""id="urname"/>期货分析
密码:<input type="text"value=""id="password"/>
<button id="submit_btn">提交</button>
</form>
</body>
</html>
浏览器显⽰:
注意⼀点:我没有给button指定type类型,很多⼈觉得语义化的button标签其实就是type=“button”,这是错误的
⾏为⼀:
当我点击提交,页⾯发⽣了跳转,跳转的url是我在form标签中action属性定义的url!所以:表单中的button标签默认类型是submit
⾏为⼆:
当在⽤户框或者密码框中得到焦点后,我按下回车。浏览器也发⽣了像⾏为⼀那样的跳转。
表单中会⾃动注册回车提交事件,并且IE中表现⼀致 。现在在项⽬中绝⼤多数都是⽤ajax提交表单,没必要在form的action中填写url,还是刚才的DOM结构只是去掉了action属性(容易被忽略的)
在刚在的DOM结构下加下⾯这段js代码:
var submit_btn = document.querySelector("#submit_btn")
lick=function(e){
debugger
// e.preventDefault();
console.log('submit_btn')
}
页⾯跑起来时会发现代码的执⾏进⼊了这个按钮点击事件,执⾏了⾥⾯的代码,然后页⾯再去跳转到form表单中的action地址
⾏为三:
当未指名form action 属性和button type类型,会先触发⾃定义按钮事件然后表单请求事件(表单⼜重新刷新了⼀遍)
我们把form标签中的action属性去掉然后点击提交按钮,发现代码也是进⼊按钮事件绑定的事件处理
函数,只是最后没有去跳转url⽽是页⾯进⾏了刷新。
阻⽌form表单的默认⾏为
阻⽌form表单的默认⾏为说⽩了就是阻⽌以上3中⾏为的⼀个共同表现:阻⽌页⾯的跳转与刷新
⽅式⼀:解决点击没有设置type属性的按钮的默认⾏为
1、在button按钮加上type属性,属性值选择不是submit
2、在button的事件处理函数中加⼊阻⽌默认⾏为的语句。代码如下:
lick=function(e){
e.preventDefault();//阻⽌默认⾏为
console.log('submit_btn')
}
家英文怎么写
⽅式⼆:解决input框按回车键得默认⾏为
二氧化硫的性质儿童背景在form表单的onsubmit事件中加⼊阻⽌默认⾏为的语句。代码如下:
submit=function(e){
e.preventDefault();
console.log('123')
}
⽅式三:在form标签下加⼊onsubmit = "return fal"的属性。
<form id="form_test"action="/myurl"method="post"onsubmit="return fal">
⽤户名:<input type="text"value=""id="urname"/>
绿豆面条密码:<input type="text"value=""id="password"/>
<button id="submit_btn"type="button">提交</button>
</form>
这样操作后,我们点击未设置type属性的button按钮,或者在input框中按下回车,都不会有页⾯刷新或者跳转的默认⾏为了。