在我的 meteor 应用程序中,我通过单击下面的 sbmit 按钮提交选择器编号的值
当我尝试使用 Enter 键(键盘)提交它时,它不起作用,因为我知道我设置了隐藏输入并尝试提交它;我认为问题来自隐藏输入,所以经过一个小时的搜索,我不知道如何提交隐藏输入,请提供帮助;这是我的代码
<template name="range">
<div class="row">
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
<div class="valueSliders">
<div class="verticleNumberSelect">
<span class="firstNumber">
<span class="up"> </span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<span class="secondNumber">
<span class="up"></span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<span class="thirdNumber">
<span class="up"></span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<span class="fourthNumber">
<span class="up"></span>
<span class="numberValue" tabindex="1">0</span>
<span class="down"></span>
</span>
<form>
<input type="hidden" id="verticleNumber" />
<input type="submit" style="visibility: hidden; position: absolute;" />
</form>
</div>
</div>
</div>
</template>
我的js是
Template.range.events({
'submit form': function (event) {
event.preventDefault();
if (Session.get('times') && Session.get('times') > 0) {
var RESPONSE, responseClass;
var GUESS = $('#verticleNumber').val();
if (GUESS > ANSWER) {
RESPONSE = "-";
responseClass = 'lower';
}
else if (GUESS < ANSWER) {
RESPONSE = "+";
responseClass = 'higher';
}
else if (GUESS == ANSWER) {
RESPONSE = "✔";
responseClass = 'win';
}
}
}
});
我动态设置隐藏输入的值,它是玩家通过选择器编号选择的值,我指的是verticleNumber的值;回答随机值
非常感谢
最佳答案
回车键仅在被认为是焦点的表单上起作用 - 我认为只有一个隐藏输入的表单可以防止这种情况发生。假设您的提交函数根本没有被调用,我实际上会打破 Meteor 约定并在模板的 onCreated 函数中执行 jQuery 事件监听器:
$(document).keypress(function(e) {
if(e.which == 13) {
console.log('enter pressed');
// Your code here to get values and do stuff.
}
});
关于javascript - 如何在 Meteorjs 中提交隐藏输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983799/