我在Meteor.js应用程序中使用了一个表单和一些javascript逻辑。提交表格时。我收到了错误:
未捕获的TypeError:无法读取未定义的属性“值”
这是在抱怨这条线:
var email = event.target.email.value.toLowerCase();
这就是表格的样子:
<form class="request-form" id="request-form" method="post" action="#">
<div class="form-group">
<input type="text" name="name" id="name" value="" class="form-control" placeholder="Your Name" required />
</div>
<div class="form-group">
<input type="text" name="email" id="email" value="" class="form-control" placeholder="Email Address" required />
</div>
<div class="form-group">
<input type="text" name="subject" id="subject" value="" class="form-control" placeholder="Subject" required />
</div>
</form>
</div>
</div>
<div class="col-md-6 col-sm-12">
<div class="block">
<form>
<div class="form-group-2">
<textarea id="message" name="message" class="form-control" value="" rows="3" placeholder="Your Message"></textarea>
</div>
<button class="btn btn-default submit" type="submit">Send Message</button>
</form>
这就是逻辑处理程序的样子:
Template.contact.events({
'submit form': function(event, template) {
event.preventDefault();
var $form = template.$('#request-form');
if ($form.valid()) {
var name = event.target.name.value;
//COMPLAINING ABOUT THIS
var email = event.target.email.value.toLowerCase();
var subject = event.target.subject.value;
var message = event.target.message.value;
UserList.insert({
name: name,
email: email,
subject: company,
message: message
});
// template.showForm.set( false );
}
window.scroll(0,0);
}
});
答案 0 :(得分:0)
如果您为该字段分配了id属性,并且您确定此字段始终填充,则可以通过以下方式访问该字段:
var email = $("#email").val();
我认为主要问题是你有2个表格。提交的行为与您的电子邮件不同。