当前位置:网站首页>十二、form表单的提交
十二、form表单的提交
2022-08-02 22:51:00 【Ming-Afresh】
信息填报类项目form表单必不可少
这里我们主要用到两种方式
<form @submit="onSubmit">
<view class="uni-form-item">...</view>
<view class="uni-form-item">...</view>
<button form-type="submit">保存</button>
<view class="uni-form-item">...</view>
<view class="uni-form-item">...</view>
<button @click="onClick">保存</button>
如果两种都加 那是不是同时触发呢?当然不是
@submit和@click也是区分优先级的 如上方法名称举例
onSubmit只能表单上使用,提交表单前会触发,onClick是按钮等控件来使用,用来触发点击事件。在提交表单前,一般都会进行数据验证,可以选择在submit按钮上的onClick中验证,也可以在onSubmit中验证。但是onClick比onSubmit更早的被触发
提交过程
1、用户点击按钮
2、触发onClick事件
3、onClick返回true或未处理onClick
4、触发onSubmit事件
5、onSubmit未处理或返回true
6、提交表单 onSubmit处理函数返回false,onClick函数返回false,都不会引起表单提交
尽可能的只用一种提交方法 写得花里胡哨作用都一样 两种还占用运行没必要
<template>
<view class="content">
<form @submit="onSubmit">
<view class="uni-form-item">
<view class="title">天音波</view>
<view class="input_box"><input type="text" placeholder="请输入" v-model="form.name" maxlength='30' />
</view>
<view class="uni-form-item">
<view class="title">金钟罩</view>
<view class="input_box"><input type="text" placeholder="请输入" v-model="form.name" maxlength='30' />
</view>
<view class="uni-form-item">
<view class="title">神龙摆尾</view>
<view class="input_box"><input type="text" placeholder="请输入" v-model="form.name" maxlength='30' />
</view>
<view>
<button form-type="submit" class="sub_btn clo" :disabled="btnDisabled">保存</button>
</view>
</form>
</view>
</template>
<script>
export default {
data() {
return {
form: {
name: '',
},
btnDisabled:false,
}
},
onLoad() {
},
methods: {
onSubmit(e){
var _this =this;
if(_this.btnDisabled){
uni.showToast({
icon:'none',
title:'请勿重复提交'
})
}
if(_this.form.name==''){
uni.showToast({
icon:'none',
title:'请选择姓名'
})
return false
}
_this.btnDisabled=true
uni.request({
url: 'Where You Going, Baby?',
method: 'POST',
data: {
name:_this.form.name,
...
},
header: {
'content-type': 'application/json'
},
success: res => {
console.log(res.data);
if(res.data==1){
uni.showToast({
icon:'none',
title:'上报成功',
})
setTimeout(()=>{
uni.navigateBack({
delta:0
})
},1000)
};
},
fail: (err) => {
uni.showToast({
icon:'none',
title:err.data.msg,
})
},
});
},
}
}
</script>
边栏推荐
- 技术分享 | 接口自动化测试中如何对xml 格式做断言验证?
- js基础知识整理之 —— 变量和数据类型
- js基础知识整理之 —— Date和定时器
- Shunted Self-Attention via Multi-Scale Token Aggregation
- B站回应“HR 称核心用户都是 Loser”:该面试官去年底已被劝退,会吸取教训加强管理
- 思源笔记 本地存储无使用第三方同步盘,突然打不开文件。
- 华为设备配置BFD与接口联动(触发与BFD联动的接口物理状态变为Down)
- 【斯坦福计网CS144项目】Lab5: NetworkInterface
- Mock工具之Moco使用教程
- vant-swipe自适应图片高度+图片预览
猜你喜欢
随机推荐
js基础知识整理之 —— 五种输出方式
MySQL 用id分库使用name查询
CKAN教程之将 Snowflake 连接到 CKAN 以发布到开放数据门户
Shunted Self-Attention via Multi-Scale Token Aggregation
数据库主键一定要自增吗?有哪些场景不建议自增?
记一次mysql查询慢的优化历程
Jmeter secondary development to realize rsa encryption
B站回应HR称用户是Loser:涉事面试官去年底已被劝退
IDO预售代币合约系统开发技术说明及源码分析
TCP三次握手与四次挥手
执子手,到永恒
非关系型数据库MongoDB简介和部署
微信小程序(一)
MySQL 与InnoDB 下的锁做朋友 (四)行锁/记录锁
js基础知识整理之 —— 判断语句和三元运算符
【C语言】带头双向循环链表(list)详解(定义、增、删、查、改)
买母婴产品先来京东“券民空间站”抢券!大牌好物低至5折
厌倦了安装数据库?改用 Docker
00 -- jieba分词
语音合成模型小抄(1)