vue表单form提交阻止跳转页面

在这里插入图片描述#### 直接使用form的submit提交,页面会跳转,使用jquery-form阻止跳转

  1. 引入jquery-form
  • npm下载jquery-form

    npm install jquery-form --save
    
  • 在main.js中use

    import jqueryForm from 'jquery-form'
    Vue.use(jqueryForm)
    
  1. 使用
		<!--此段html为示例,仅供参考-->
          <form id="uploadForm"  method="post" v-show="false" enctype="multipart/form-data" onsubmit="return false">
            <input type="file" id="fileInput" name="files" accept=".mdsql" @change="uploadModelFile($event)">
          </form>

    uploadModelFile (event) {
      if ($('#uploadForm input').val() === '') {
        return
      }
      //let baseURL
      // 判断环境切换代理接口
      //if (process.env.NODE_ENV === 'development') {
        //baseURL = '/api/***'
      //} else {
        //baseURL = process.env.API_DOMAIN + '/***'
      //}
      let options = {
        clearForm: true, // 提交后清空表单
        url: baseURL, // 提交地址
        success: function (response) { 
        	// 成功后函数
        }
      }
      $('#uploadForm').ajaxSubmit(options) // 使用ajaxSubmit提交
      return false // 如果是submit按钮提交记得e.preventDefault()阻止默认事件
    },
要实现不同角色跳转到不同页面,您可以在表单提交时,根据不同角色的输入信息进行判断,然后使用 `vue-router` 路由跳转到不同的页面。 下面是一个简单的示例,假设有两个角色:管理员和普通用户。管理员在表单中输入账号和密码后,点击提交按钮跳转到管理员页面;普通用户在表单中输入账号和密码后,点击提交按钮跳转到用户页面。 在模板中,您可以使用 `v-if` 来根据当前角色显示不同的表单内容。例如: ```html <template> <div> <form v-if="isAdmin" @submit.prevent="submitAdminForm"> <label>账号</label> <input type="text" v-model="adminAccount"> <label>密码</label> <input type="password" v-model="adminPassword"> <button type="submit">提交</button> </form> <form v-else @submit.prevent="submitUserForm"> <label>账号</label> <input type="text" v-model="userAccount"> <label>密码</label> <input type="password" v-model="userPassword"> <button type="submit">提交</button> </form> </div> </template> ``` 在脚本中,您可以定义不同角色的数据以及提交表单的方法: ```javascript <script> export default { data() { return { isAdmin: true, // 是否是管理员角色 adminAccount: '', adminPassword: '', userAccount: '', userPassword: '' } }, methods: { submitAdminForm() { // 在这里根据管理员输入的账号和密码进行验证 // 如果验证通过,使用 vue-router 跳转到管理员页面 this.$router.push('/admin') }, submitUserForm() { // 在这里根据用户输入的账号和密码进行验证 // 如果验证通过,使用 vue-router 跳转到用户页面 this.$router.push('/user') } } } </script> ``` 注意,在实际应用中,您需要根据具体需求进行更改,例如添加更多角色、使用 Vuex 管理状态等。同时,也需要注意安全性问题,例如防止 CSRF 攻击、密码加密等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值