【发布时间】:2015-09-25 05:31:30
【问题描述】:
在我的 home.html 页面中,我有两个表单,它们的设置方式相同。问题是一个有效,另一个无效。我尝试将损坏的表单中的复选框放入工作表单中,然后它开始工作,所以我认为在 JavaScript Template.events 代码中指定表单是一个问题。
html:
<template name="home">
<form> <strong>Display Factors:</strong><br>
<label class="display-F1"> <input type="checkbox" checked="{{displayF1}}"> 1: Cumplimiento de los objetivos del programa </label><br>
<label class="display-F2"> <input type="checkbox" checked="{{displayF2}}"> 2: Estudiantes </label><br>
<label class="display-F3"> <input type="checkbox" checked="{{displayF3}}"> 3: Profesores </label><br>
</form>
<form>
<label class="display-strengths"> <input type="checkbox" checked="{{displayStrengths}}"> Display Strengths </label>
<label class="display-insuff"> <input type="checkbox" checked="{{displayInsuff}}"> Display Insufficiencies </label>
<label class="display-urgencies"> <input type="checkbox" checked="{{displayUrgencies}}"> Display Urgencies </label>
</form>
</template>
JavaScript:
Template.home.events({
"change .display-strengths input": function (event) {
Session.set("displayStrengths", event.target.checked);
},
"change .display-insuff input": function (event) {
Session.set("displayInsuff", event.target.checked);
},
"change .display-urgencies input": function (event) {
Session.set("displayUrgencies", event.target.checked);
},
"change .display-F1 input": function (event){
Session.set("displayF1", event.target.checked);
},
"change .display-F2 input": function(event){
Session.set("displayF2", event.target.checked);
},
"change .display-F3 input": function(event){
Session.set("displayF3", event.target.checked);
},
});
我还有其他依赖于 Session.get 的代码,但我相当确信问题出在此代码中,因为在控制台中,Session.get('displayStrengths') 在适当的时候返回 true,但 Session.get('displayF1') 总是返回 undefined。
【问题讨论】:
标签: javascript html forms meteor