在meteor.js中,我无法连接HTML和JS。按钮点击没有任何反应,我不明白为什么不。因此,不会调用服务器中的meteor方法,也不会发送电子邮件。 HTML:
<template name='confirmation'>
<div class = "container" >
<form role = "form" id = "email-form">
<div class = "form-group">
<label for="inputEmail">Email address</label>
<input type= "email" class = "form-control" id = "inputEmail" placeholder = "Enter email">
</div>
<button type = "submit" class = "btn btn-primary"> Send mail</button>
</form>
</div>
</template>
此代码在客户端上运行:
Template.confirmation.events({
'submit #confirmation-form': function (e,t) {
e.preventDefault();
var toAddr=t.find('#inputEmail').value;
var subject = ("Booked");
var body = ("Thanks for booking")
Meteor.call('sendEmail', toAddr, subj, text)
}
})
此代码在服务器上运行:
if (Meteor.isServer){
Meteor.startup(function(){
process.env.MAIL_URL = "mailgun"
Accounts.config({
sendVerificationEmail: true
})
})
Meteor.methods({
'sendEmail': function(toAddr,subj,text){
this.unblock();
Email.Send({
from: "booking@timesharewebapp.com",
to:Meteor.toAddr,
subject : subj,
text: text
})
}
})
}
问题是按下按钮时没有任何反应。控制台或cmd提示符中没有任何内容出现。我不知道这是我调用我的活动的方式,还是它是电子邮件功能。
答案 0 :(得分:0)
您在活动中使用了错误的选择器。请尝试以下代码。
Template.confirmation.events({
'submit #email-form': function (e,t) {
e.preventDefault();
var toAddr=t.find('#inputEmail').value;
var subject = ("Booked");
var body = ("Thanks for booking")
Meteor.call('sendEmail', toAddr, subj, text)
}
})