gpt4 book ai didi

javascript - 如何在 Meteor 的同一集合字段中添加来自同一表单的两个输入?

转载 作者:行者123 更新时间:2023-11-27 23:46:07 24 4
gpt4 key购买 nike

我正在为我的第一个应用程序编写 meteor 教程。所以我想进一步扩展它,并有两个文本框,一个用于评论,一个用于评级。问题是我无法从两种表单中正确获取值(实际上根本无法获取评级值)以便将它们保存在我的数据库中,而且输入提交功能停止工作。

我的 body 事件 .js 代码是:

Template.body.events({
"submit .new-task": function(event) {
// Prevent default browser form submit
event.preventDefault();

// Get value from form element
var text = event.target.text.value;
var rating = event.target.rating.value;

// Insert a task into the collection
Meteor.call("addTask", text, rating);

// Clear form
event.target.text.value = "";

}
});

对于添加任务:

AddTask: function(text, rating) {
//.....
Tasks.insert({
text: text,
createdAt: new Date(),
owner: Meteor.userId(),
username: Meteor.user().username,
rating: rating
});
}

还有我的 HTML:

<form class="new-task">
<h2>What is happening?</h2>
<input type="text" name="text" placeholder="Share your experience!" />
<h2>Rating:</h2>
<input type="text" name="rating" placeholder="insert your rating!" />
</form>
<小时/>
<template name="task">
<li class="{{#if checked}}checked{{/if}}">
{{#if isOwner}}
<button class="delete">&times;</button>
{{/if}}
<span class="text"><strong>{{username}}</strong> - {{text}}- {{rating}}</span>
</li>
</template>

最佳答案

您的 Meteor 方法 addTask 未定义。请改为调用 Meteor.call("AddTask", text, rating);,或将您的方法重命名为 addTask

例如:

if (Meteor.isClient) {
Template.hello.events({
'click button': function () {
Meteor.call("addTask", "1", 2, function(error){
if (error) alert(error.reason);
});
}
});
}

if (Meteor.isServer) {
Meteor.methods({
addTask: function (text, rating) {
check(text, String);
check(rating, Number);
console.log(text);
console.log(rating);
}
});
}

关于javascript - 如何在 Meteor 的同一集合字段中添加来自同一表单的两个输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33168774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com