从 Html 表单 Meteor javascript 获取 Var 时出错
Error Getting Var from Html form Meteor javascript
我正在尝试从html字段设置变量。当我运行 meteor 时,它不会编译并出现任何错误,但如果单击提交按钮,控制台会说:
调用方法"提交"时出现异常 类型错误:无法调用未定义的方法"阻止默认"
我真的想不通...
所以我的 html 部分是:
<template name="status">
<form id="status">
<input id="status" type="text" name="status"/>
<input type="submit" id="submit"/>
</form>
</template>
事件的 javascript 部分:
submitme: function(event){
event.preventDefault();
var statusvar = document.getElementById("status").value;
alert("Submitted!");
Meteor.users.update({
_id: this.userId
}, {
$set:
{
'status': statusvar
}
});
},
最后
Template.status.events({'submit' : function(event) {
Meteor.call('submitme');
event.preventDefault(); //prevent page refresh
}
编辑:固定!
下面的助手发布了:
Template.status.events({
'submit' : function(event) {
event.preventDefault(); //prevent page refresh
var statusvar = document.getElementById("status").value;
alert("Submitted!");
Meteor.call('submitme', statusvar);
}
});
这行不通。我将其替换为:
Template.status.events({
'submit' : function(event) {
event.preventDefault(); //prevent page refresh
var statusvar = event.target.status.value;
alert("Submitted!");
Meteor.call('submitme', statusvar);
}
});
它现在可以工作..! :)
这里有一些问题。Meteor.call() 应该只调用服务器端代码;您不能尝试从submitme
函数访问document
,也不需要submitme
中的event.preventDefault()(并且您也没有传递任何内容,因此无法访问event
)。像这样修改你的代码:
//THIS MUST BE ON THE SERVER SIDE
submitme: function(statusvar) {
Meteor.users.update({
_id: this.userId
}, {
$set: {
'status': statusvar
}
});
},
//CLIENT SIDE
Template.status.events({
'submit' : function(event) {
event.preventDefault(); //prevent page refresh
var statusvar = document.getElementById("status").value;
alert("Submitted!");
Meteor.call('submitme', statusvar);
}
});
您的事件函数将从 HTML 中提取值,然后将该变量传递给名为 submitme
的服务器端 Meteor 方法。
相关文章:
- 控制台返回var不是't定义,但它是
- javascript中的数组出错
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 从var向代码隐藏函数传递值
- 如何通过引用var Using DataTables来进行分页或排序
- jQuery语法添加了var
- 如何将具有文本类型值的var放入jQuery函数中
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 在Meteor项目中安装并包含npm模块后出错
- 解析JSON并从中删除对象会出错
- AngularJS指令出错-无法读取属性'编译'的未定义
- 当var==0时,我如何显示一个警报
- 使用javascript在MVC中查找网格长度时出错
- 尝试调用AngularJS上的函数时出错
- javascript中对象构造函数中的var属性与this.properties
- 函数中this和var之间的区别
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 从 Html 表单 Meteor javascript 获取 Var 时出错
- 如果var为空,如何修剪变量而不会出错
- 在var声明中使用if-else简写操作符时出错