javascript - t.onSubmit is not a function 错误,提交表单时返回,如何解决?

标签 javascript vue.js

我有一个表单,当您提交它时,它应该调用一个名为 onSubmit 的方法函数。但是,它没有调用该函数,而是返回错误:TypeError: "t.onSubmit is not a function"

我查找了这个错误,并尝试使用人们遇到过的一些类似问题的答案来修复它,但不幸的是,这没有用。我尝试重新命名我的所有函数,以查看我调用函数的名称是否影响了它,但没有成功。

这是我的代码:

  <template>
    <div id="main">
      <b-nav-form @submit.prevent="onSubmit">
        <b-form-input
          size="sm"
          v-model="pupilId"
          class="mr-sm-2"
          placeholder="Search for a student"
        ></b-form-input>
        <b-button size="sm" class="my-2 my-sm-0" type="submit">Search</b-button>
      </b-nav-form>
    </div>
  </template>

<script>

export default {
  name: "Nav",
  data() {
    return {
      pupilId: ""
    };
  },
  methods: { 
  onSubmit: function() {
    this.$router.push({ path: `/student/${this.searchStudent}` });
  }
};
</script>

提交此表单时,它应该将用户发送到另一个页面,但它并没有这样做,而是返回了上面指定的错误。

提前感谢您的任何建议

最佳答案

正如 Chris G 提到的,您忘记关闭 onSubmit 括号,试试这个代码:

export default {
  name: "Nav",
  data() {
    return {
      pupilId: ""
    };
  },
  methods: {
    onSubmit: function () {
      this.$router.push({ path: `/student/${this.searchStudent}` });
    }
  }
}

关于javascript - t.onSubmit is not a function 错误,提交表单时返回,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57402946/

相关文章:

javascript - 加载视频时显示加载图标 javascript

javascript - 无法在文本换行并移动到下一行的文本区域内换行

javascript - Vue js切换每个单独元素的类

vue.js - npm run build --mode [.env.mode] 没有按预期工作

css - 在输入上设置全 Angular

javascript - 如何使用 Vue-draggable 和 Vuex 将一个列表动态拆分为多个列表?

javascript - window.requestAnimFrame 说明

javascript - 在 Chrome 中单步执行 JavaScript 断点时如何查看 DOM?

bash - Vue init webpack 测试 - 未创建项目 - 严格模式错误?

javascript - 如何按值排序并仅返回高于特定值的项目?