关于<button><form>标签的正确使用

1.背景

最近因为自己过失,遇到一个坑,问题不大自己折腾了很久。记录一下,代码如下:

    <form action='' id='userForm'>
        <input type='text' data-name='username' value='tom'/>
        <input type='password' data-name='password' value='123456'/>
        <button>确定</button><button type='reset'>取消</button>
    </form>

类似上面的结构,我写了一个工具方法,需要一个包裹标签,可以一键获取表单数据对象。就无意加了一个form标签,只是为了包裹,没有用到表单提交。

另外,现在开发中,用到的emmet插件。敲标签默认情况下,不会给form加action,button加type。当然,我的潜意识里,以为只有button的type=’submit’才会提交表单。然后悲剧就发生了…

2.异常结果

大概两种现象

1.network显示:ajax status canceled

2.浏览器url后面多了个问号‘?’

3.页面被刷新

3.解决方案

常用的两种方案

1.button设置 type='button';

2.button绑定事件添加 return false;

4.总结

1.当ajax提交请求时,页面如果有其他请求操作会出现canceled状态。

2.form标签不设置action属性,提交后浏览器url会加?

3.button标签不设置type,也会提交表单

切记,勿再入坑!!!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值