javascript在按下enter键时设置变量值
我对JavaScript非常陌生,但我确信当在HTML文本输入框中按enter键时,必须有一种简单的方法来设置变量值javascript在按下enter键时设置变量值,javascript,jquery,html,Javascript,Jquery,Html,我对JavaScript非常陌生,但我确信当在HTML文本输入框中按enter键时,必须有一种简单的方法来设置变量值 <input type='text' name='userEntry' class='inner-choice-entry' placeholder='Type your answer here' /> 以下内容将用于向用户显示消息并提示他们输入值: displayedLine = 'Please enter your name.'; $('.inner-conte
<input type='text' name='userEntry' class='inner-choice-entry' placeholder='Type your answer here' />
以下内容将用于向用户显示消息并提示他们输入值:
displayedLine = 'Please enter your name.';
$('.inner-content-text').html(displayedLine);
displayedChoiceLine = 'Your name is:';
$('.inner-choice-text').html(displayedChoiceLine);
determineUserChoice();
charName = userEntry;
$('.inner-content-sidebar-text-playername').html(charName);
就我的一生而言,我不知道如何使用函数'DeterminuteUserChoice'将'userEntry'变量设置为用户在按下enter键时输入的任何值。可能有一个更简单的方法来实现这一点。我的目标是向用户提出一系列问题,然后在按下enter键后显示在页面上,然后再显示其他消息。您可以执行以下操作:
<input onkeypress="determineUserChoice(event)" type='text' name='userEntry' class='inner-choice-entry' placeholder='Type your answer here' />
但是要注意,
document.getElementsByName(…)
返回一个包含给定名称的所有元素的数组。使用document.getElementById(…)
返回页面中唯一具有给定id
的元素(因为id在页面中是唯一的)。document.getElementsByName
返回节点列表,而不是单个元素。在获取元素的值之前,需要对其进行索引以获取元素,因此它应该是:
userEntry = document.getElementsByName('userEntry')[0].value;
我假设您正在某个地方用addEventHandler
绑定处理程序,但没有显示该代码。您可以执行以下操作
在文本框上附加一个按键关闭事件的事件处理程序。我使用了它的class='internal-choice-entry
来引用它
$('.inner-choice-entry').keydown(determineUserChoice);
注意:如果您同意向输入字段添加id
属性,则可以使用$(“#userEntry”)
而不是$('.internal choice entry')
修改determineUserChoice
函数,如下所示。这是为了克服Thierry J的回答中提到的问题。getElementsByName
方法返回具有给定名称的所有元素的数组。使用getElementsByName('userEntry')[0]。value
将仅获取第一个具有name=userEntry
的此类元素的值
function determineUserChoice(e) {
if (e.which == 13 || e.keyCode == 13) {
console.log('ok');
userEntry = document.getElementsByName('userEntry')[0].value; //note the change here.
console.log(userEntry);
}
};
注意:同样如上所述,如果在字段中添加id
,则可以获得如下值
userEntry = document.getElementById('userEntry').value;
如何将函数绑定到键盘相关事件?在determinuteUserChoice(e)
中的变量e
设置在哪里?
userEntry = document.getElementById('userEntry').value;