[英]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.keyCode
( which
規范化keyCode
和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示例,單擊提交按鈕並按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.