Meteor:尝试将数据从动态表单发送到服务器端方法?
我会尽力解释我的问题所在-我会把它写在Meteopad上,但我认为它要么被删除,要么被删除:/ 我有一个表单,它包含姓名和电话号码,电话号码字段是动态的,因此用户可以在提交表单之前添加多个电话号码。 提交表单时,“名称”字段将发送到服务器,其中包含:Meteor:尝试将数据从动态表单发送到服务器端方法?,meteor,Meteor,我会尽力解释我的问题所在-我会把它写在Meteopad上,但我认为它要么被删除,要么被删除:/ 我有一个表单,它包含姓名和电话号码,电话号码字段是动态的,因此用户可以在提交表单之前添加多个电话号码。 提交表单时,“名称”字段将发送到服务器,其中包含: name = event.target.name.value; Meteor.call("insertDetails", name); 然后在服务器中: Meteor.methods({ insertDetails: function (na
name = event.target.name.value;
Meteor.call("insertDetails", name);
然后在服务器中:
Meteor.methods({
insertDetails: function (name) {
Database.insert({
name: name ...
})
Email.send({ text: "Hi " + name + " your phone numbers listed are " + ????
我如何使用动态电话号码字段,因为用户可以添加10个电话号码,我需要将它们全部发送到服务器,并能够在电子邮件中使用它们。发送..在客户端,您可以执行以下操作:
var details= {
name: event.target.name.value,
emails: [
event.target.email1.value,
event.target.email2.value,
event.target.email3.value,
etc.
]
}
Meteor.call("insertDetails", details);
我不确定您使用的是哪种电子邮件输入,但无论您使用何种方式,都可以使用for循环或其他方式来存储使用较少代码输入的电子邮件地址的确切数量
在服务器端,您只需执行以下操作:
Meteor.methods({
insertDetails: function (details) {
Database.insert(details);
var emailText = "Hi " + details.name + ", your phone numbers listed are ";
for (var i = 0; i < details.emails.length; i++){
emailText += details.emails[i];
if (i == details.emails.length - 2){
emailText += " and ";
} else if (i != details.emails.length - 1){
emailText += ", ";
}
}
Email.send({to: '',from: '', text: emailText});
}
});
Meteor.methods({code>
insertDetails:函数(详细信息){
数据库。插入(详细信息);
var emailText=“Hi”+details.name+”,列出的电话号码是“;
对于(var i=0;i由于您已将电子邮件地址存储在客户端的一个数组中,因此您的方法可以根据该数组的长度动态更改生成的消息。for循环中的两个if语句有助于正确制定标点符号和句子结构。我们可以向Meteor.call发送多个参数,那么为什么不将PhoneNumber作为另一个参数发送呢???@SaiRam如我所说,表单(特别是电话字段)是动态的。您可以向收藏中添加多个电话号码,它们不会全部保存在“phoneNumber”下,因为这样您就可以背靠背地通过电子邮件发送大量电话号码。我希望每个电话号码彼此分开