Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击或按enter键访问输入值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击或按enter键访问输入值

Javascript 单击或按enter键访问输入值,javascript,jquery,html,Javascript,Jquery,Html,我试图简单地返回输入字段中输入的值 我想使用jQuery访问值,存储到变量,然后从调用的函数返回它 这是我的HTML: <!DOCTYPE html> <html> <head> <title>Untitled</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"/> <script language = "

我试图简单地返回输入字段中输入的值

我想使用jQuery访问值,存储到变量,然后从调用的函数返回它

这是我的HTML:

<!DOCTYPE html>
<html>
  <head>
    <title>Untitled</title>
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
    <script language = "javascript" type = "text/javascript" src="jquery-2.1.1.js">      </script>
    <script language = "javascript" type = "text/javascript" src = "Database.js"></script>
  </head>
  <body>
      <div id="wrapper">
          <input type ="text" id="input"/></br>
          <input type="button" id="insert"/>
      </div>
  </body>
</html>
我还没有对包含的按钮的功能进行操作,请忽略这一点

当我在Chrome的Javascript控制台中运行此命令时,我得到了“第15行的意外令牌函数。我是否错误地调用了该函数?”

我只希望程序在用户按下enter键后立即返回输入框的值

更新

HTML:

Javascript:

$(document).ready(function() {

var toSubmit = function() {
  var text = $("#input").val();
  return text;
};

var enterPressed = function() {
  $('#input').keyup(function(button) {
    if(button.keyCode==13) {
      toSubmit();
    }
  };

function enterPressed();

});
$(document).ready(function() {

var values = [];

var toSubmit = function() {
  var text = $("#input").val();
  values.push(text);
  console.log(values);
  return false;
};

var formSubmit = function(e) {
  $('#form').submit(toSubmit);
};

});

正如@DontVoteMeDown在评论中所说,
函数enterPressed();
是一个语法错误,您忘记关闭
enterPressed
。您还忘了用
}关闭
键。
。我已更正了此代码中的错误:

编辑:更改为
event.which
而不是
event.keyCode
()

工作JSFIDLE示例:

更新:

$(document).ready(function() {

  var toSubmit = function(e) {
     var text = $("#input").val();

     // do whatever you want to do with 'text' variable here

     // stop form from submitting
     e.preventDefault();
     return false;
  };

  var formSubmit = function() {
      $('#form').submit(toSubmit);
  };

  // call this when you want to bind the submit handler
  formSubmit();

});
<form id="form">
    <input type ="text" id="input"/><br />
    <input type="submit" id="insert"/>
</form>
如果可以,最好只收听表单的
submit
事件。这样,您可以调用
toSubmit
,它将处理enter键和submit按钮。以下是您的操作方法:

JavaScript:

$(document).ready(function() {

  var toSubmit = function(e) {
     var text = $("#input").val();

     // do whatever you want to do with 'text' variable here

     // stop form from submitting
     e.preventDefault();
     return false;
  };

  var formSubmit = function() {
      $('#form').submit(toSubmit);
  };

  // call this when you want to bind the submit handler
  formSubmit();

});
<form id="form">
    <input type ="text" id="input"/><br />
    <input type="submit" id="insert"/>
</form>
HTML:

$(document).ready(function() {

  var toSubmit = function(e) {
     var text = $("#input").val();

     // do whatever you want to do with 'text' variable here

     // stop form from submitting
     e.preventDefault();
     return false;
  };

  var formSubmit = function() {
      $('#form').submit(toSubmit);
  };

  // call this when you want to bind the submit handler
  formSubmit();

});
<form id="form">
    <input type ="text" id="input"/><br />
    <input type="submit" id="insert"/>
</form>
toSubmit
功能中:

// push text to array
list.push(text);

// output array in console
console.log(list);

JSFIDLE:(每次按下enter键时打开控制台查看数组)

首先,将此
函数enterPressed();
更改为此
enterPressed()
。这是错误的根源。用
}
关闭
enterPressed
函数,它丢失了。@DontVoteMeDown--将其作为答案发布。@tymeJV我不确定这是否是真正的答案。@Nathan我已将我的代码与您的代码相同,并且没有收到任何错误,但是
没有打印到控制台上。我是cal吗也许在我的HTML中过早使用Javascript源代码?我看到您的JSFIDLE示例工作了…请参阅上面我更新的代码。我只是想知道,如果只调用一次,并且在声明后立即调用,为什么你们坚持创建一个函数来绑定事件。@matt81m With
document.ready
您可以将它放在页面(在DOM就绪之前不会调用它)。在保存编辑后,我将其更改为
list
,因为我在您的评论中注意到,您说有一个名为
list
的数组。全局数组是否在
toSubmit
之外创建?您是否试图在
文档之外使用
list
?准备好了吗
列表
数组只能在
文档中使用。准备就绪
除非它在它之外声明。@DontVoteMeDown我并不真正关心将它保存在函数中(我个人也不会将它放在它自己的函数中,但我想matt81m希望它是这样的,以便以后可以在脚本中绑定)。@Nathan我忘记调用
formSubmit()
在末尾。它现在似乎正在工作。您能解释一下为什么在函数
的末尾需要
返回false;
来提交