簡體   English   中英

單擊時輸入輸入值或輸入按下

[英]Accessing input value on click or enter press

我試圖簡單地返回輸入到輸入字段中的值。

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

});

正如@DontVoteMeDown在評論中所說, function enterPressed(); 是語法錯誤,您忘記關閉enterPressed 你也忘了用});關閉keyup }); 我已經糾正了此代碼中的錯誤:

編輯:更改為event.which而非event.keyCodewhich規范化keyCodecharCode )。

$(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示例,單擊提交按鈕並按Enter鍵工作: 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/ (打開控制台,每按一次輸入就看到數組)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM