单击时输入输入值或输入按下

时间:2014-07-23 19:39:27

标签: javascript jquery html

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

我想使用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>

这是我的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();

});

我还没有使用按钮的功能,请忽略它。

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

我想让程序做的就是在用户按下回车键后立即返回输入框的值。

更新

HTML:

$(document).ready(function() {

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

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

enterPressed();

});

使用Javascript:

$(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);
};

});

1 个答案:

答案 0 :(得分:3)

正如@DontVoteMeDown在评论中所说,function enterPressed();是语法错误,您忘记关闭enterPressed。您也忘了用keyup关闭});。我已经更正了此代码中的错误:

编辑:已更改为event.which而不是event.keyCodewhich normalizes keyCode and charCode)。

$(document).ready(function() {

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

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

  enterPressed();

});

使用jsFiddle示例:http://jsfiddle.net/D66Zw/1/

<强>更新

如果可以的话,如果你只是听一个表格的submit事件会更好。这样你就可以调用toSubmit,它将处理按下回车键和提交按钮。这是你如何做到的:

<强> 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();

});

<强> HTML:

<form id="form">
    <input type ="text" id="input"/><br />
    <input type="submit" id="insert"/>
</form>

新的jsFiddle示例,点击提交按钮并按回车工作:http://jsfiddle.net/D66Zw/2/

将值推送到数组

toSubmit函数之前,创建数组:

var list = [];

toSubmit函数中:

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

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

jsFiddle:http://jsfiddle.net/D66Zw/4/(打开控制台,每按一次输入就看到数组)