为什么我的提交表单不被执行在我的流星应用程序
Why is my submit form not being executed in my Meteor app?
我在我的流星应用程序中有这个HTML:
<template name="addPerson">
. . .
<input id="inputbuttonPerson" name="inputbuttonPerson" type="submit" value="Save Person">
</template>
…以及submit表单的Javascript事件处理程序:
Template.addPerson.events({'submit form': function(event, template) {
alert('reached addPerson.submit form');
console.log('reached addPerson.submit form');
event.preventDefault();
var firstname = template.find('#firstName').value;
. . .
…然而,"提交"按钮并没有触发;我没有看到警报,也没有控制台日志文本,也没有记录添加到MongoDB后,我捣坏提交按钮(inputbuttonPerson)。
为什么模板的提交按钮事件处理程序不响应提交按钮的点击?
您提供的信息不充分。我将试着从你提出的问题中勾勒出整个画面。
让我们假设你有一个模板:
<template name="addPerson">
<form action="" class="form" method="">
<input type="text" class="form-control" id="firstName" name="firstName">
<input type="submit" class="btn" id="inputbuttonPerson" name="inputbuttonPerson">
</form>
</template>
重要:
- 实际上有一个
form
元素。你可以绑定到这个元素来监听它触发的事件。 - 我们有
firstName
id的input
,因此我们可以稍后参考它。 - 我们没有显式地将任何值绑定到它,但是可以将它绑定到一个响应性数据源。
- 我使用您的语法来放置提交元素,尽管我个人会使用
button
元素。但是没关系。
,然后定义事件侦听器:
Template.addPerson.events({
'submit form': function (event, template) {
console.log('reached addPerson.submit form');
console.log(event.target.firstName.value);
event.preventDefault();
}
});
还有几件事需要考虑:
- 我们引用
Template
对象的addPerson
属性,即精确地引用上面定义的模板。 - 事件是
submit form
,这意味着它只在用户提交表单时触发。这不是简单的点击按钮。它可以通过[type=submit]
元素或按return
键在任何表单字段中触发。 - 与事件绑定的函数有两个参数:
event
对象和template
实例对象。实际上,没有必要使用后者。只要简单地event
对象就足够99%的时间。 - 我们
console.log
event.target.firstName
的值。event.target
对象包含事件目标的所有子元素。因为我们正在监听表单的事件,target就是表单,所以event.target
对象包含表单的子对象。可以通过name
s访问表单的子窗体,因此可以访问event.target.firstName
。 - 特定目标子元素的
value
属性提取DOM元素的value
属性。输入字段有值。event.target.firstName.value
表达式将返回在事件被触发的时刻输入到字段中的任何内容。 - 和
event.preventDefault()
不被重定向到任何URL定义为action
的形式。
这个设置工作得很好。请检查一下你的代码,看看你漏掉了什么特别的地方。你可以在表单层次结构中放置错误的元素,这是我认为根据你遇到的问题很可能出现的情况。
相关文章:
- 我的流星路线出了什么问题
- 为什么我的流星每个功能都不起作用
- 我如何在我的流星应用程序中更改盒子的高度
- 我如何更改我的流星应用程序的数据库
- 清理我的流星函数和查询
- 为什么我的流星模板没有被动渲染
- 如何使用引导导航栏构建我的流星烈焰 UI
- 我的流星项目规模正在失控
- 部署我的流星应用程序时出现问题
- 在我的流星应用程序上添加谷歌地图
- 为什么我的提交表单不被执行在我的流星应用程序
- 我需要做些什么才能让账户进入我的流星项目工作
- 为什么摊牌不工作在我的流星项目
- 为什么我的流星模板上下文数据没有被保存
- 为什么我的流星应用不能识别我的功能?
- js -我可以进入一个流星外壳,在我的流星环境中尝试一些JavaScript吗?
- 我应该加上“use strict”吗?我的流星文件
- 我的流星地理定位功能有问题
- 如何在我的流星项目中添加此功能
- 为什么我的流星应用程序日志到服务器,而不是客户端