vant组件表单外部的button触发form表单的submit事件

有时候根据需求以及布局需要,button按钮需要放在form外部,但是想触发提交事件的同时又想方便地获取表单的值

一、给form表单添加ref属性

<van-form ref="formData" alidate-first @submit="submit">
      <van-field
           readonly
           v-model="name"
           name="name"
           label="姓名"
       />
</van-form>

二、处理外部button

1.给button添加点击事件

<button type="submit"  @click="send">外部提交</button>

2.在点击事件内部处理逻辑

send(){
   this.$refs.formData.submit();
},

这里的formData是form表单上的ref属性值

然后就可以点击button时就会触发表单的submit事件了,以后可以直接在submit事件里面写逻辑

完整代码附上:

<template>
    <div class="result">
         <van-form ref="formData" alidate-first @submit="submit">
             <van-field
                 readonly
                 v-model="name"
                 name="name"
                 label="姓名"
             />
             <van-field
                 readonly
                 v-model="idNumber"
                 name="idNum"
                 label="身份证号码"
             />
             <van-field
                 readonly
                 v-model="phoneNumber"
                 name="phone"
                 label="手机号"
             />
         </van-form>
         <button type="submit"  @click="send">外部提交按钮</button>
    </div>
</template>
<script>
export default {
    data(){
        return{
            
        }
    },
    methods:{
        submit(values){
            //提交事件的逻辑
            console.log(values) //values为表单中van-field的值
        },
        send(){
            this.$refs.formData.submit();
        },
    }
}
</script>
<style>
 
</style>

vant点击表单中普通按钮为什么会触发表单提交

在表单中,除了提交按钮外,可能还有一些其他的功能性按钮,如发送验证码按钮。

在使用这些按钮时,要注意将native-type设置为button,否则会触发表单提交。

<van-button native-type="button">
  发送验证码
</van-button>

这个问题的原因是浏览器中 button 标签 type 属性的默认值为submit,导致触发表单提交。

我们会在下个大版本中将 type 的默认值调整为button来避免这个问题。 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持Devmax。

vant组件表单外部的button触发form表单的submit事件问题的更多相关文章

  1. HTML5新增form控件和表单属性实例代码详解

    这篇文章主要介绍了HTML5新增form控件和表单属性实例代码详解,需要的朋友可以参考下

  2. HTML5表单验证特性(知识点小结)

    这篇文章主要介绍了HTML5表单验证特性的一些知识点,本文通过实例代码截图的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. amazeui页面分析之登录页面的示例代码

    这篇文章主要介绍了amazeui页面分析之登录页面的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. ios – Swift Eureka Form中的循环

    我正在构建一个Eureka表单,并希望在表单中放置一个循环来构建基于数组的步进器列表.我试图使用的代码是:但是,当我这样做时,我在StepperRow行上出现了一个错误:所以看起来Swift不再认为它在形式之内并且正在关注

  5. swift 上传图片和参数 upload image with params

    Alamofire.upload(urlRequest.0,urlRequest.1).progress{(bytesWritten,totalBytesWritten,totalBytesExpectedToWrite)inprintln("\(totalBytesWritten)/\(totalBytesExpectedToWrite)")}}

  6. swift – 使用PostgreSQL在Vapor 3中上传图片

    我正在关注这些家伙MartinLasek教程,现在我正在“图片上传”.似乎没有人能回答“如何上传iVapor3图像”的问题Db连接正常,所有其他值都保存.这是我的创建方法:和型号:}和叶子模板:我知道需要一种管理文件的方法和原始图像字节,但我怎么去那里?这使用多部分表单的自动解码:upload.leaf文件是:使用File类型可以访问上载文件的本地文件名以及文件数据.如果将其余的Question字段添加到ExampleUpload结构中,则可以使用该路径捕获整个表单的字段.

  7. android – 按钮不在LinearLayout中显示

    我试图在TextView之后在LinearLayout中添加一个Button,但它没有显示出来.这是我的布局代码TextView正确显示正确的文本但不是按钮我得到一个三到四行长的大空格.我错过了什么?解决方法试试这个.使用android:layout_width=“wrap_content”代替android:layout_width=“fill_parent”用于TextView和Button

  8. vue结合vant实现联动效果

    这篇文章主要为大家详细介绍了vue结合vant实现联动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. 使用Vant框架list组件遇到的坑及解决

    这篇文章主要介绍了使用Vant框架list组件遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  10. 使用Vite+Vue3+Vant全家桶快速构建项目步骤详解

    这篇文章主要为大家介绍了使用Vite+Vue3+Vant全家桶快速构建项目步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部