当我点击它时,我有一个按钮,<input type="button" name="button">
我将另一个输入文本<input type="text" name="btxt">
中的值提交给对此问题执行一些不相关操作的JavaScript,
问题:我是否有可能通过按键盘上的return而不是点击按钮来触发此javascript。
注意:这些输入不在表单标签内
答案 0 :(得分:2)
好吧,您可以使用表单轻松完成(不必实际提交):
<form onsubmit="return yourAction();">
<input type="text" name="text" />
<button type="submit" name="button">Button</button>
</form>
来自return false;
的和yourAction()
答案 1 :(得分:0)
你不需要你的输入按钮。试试这个:
<input type="text" name="btxt" onkeypress="submitValue(this.value)">
function submitValue(value)
{
var key;
if(event.keyCode)
key= event.keyCode;
else if(event.wich)
key=event.wich;
if(key==13)
callFunction(value);
}
答案 2 :(得分:0)
您需要捕获 onkeydown 事件。我不知道你希望这个事件扩展到哪个 - 整个网页,或只是一个部分?
无论如何,假设您希望onkeydown事件发生在div标签中的所有内容中,例如
<div id="keyTrapper" onkeydown="trapReturn(event);">
<input type="text" name="myText" id="myText" />
<input type="button" name="button" id="myButton" onclick="alert("Clicked!");" />
</div>
您需要的javascript函数是:
function trapReturn(event) {
if (event.keyCode == 13) {
var myButton = document.getElementById("myButton");
myButton.click();
}
}
答案 3 :(得分:-1)
这是完整的工作示例(在FF 3.5上测试),如果您需要更多可移植性,请使用jQuery之类的JS库来触发事件。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Onkeypress Test</title>
<script language="javascript">
function keyDowns(event) {
if (event.keyCode == 13) {
// If you are using jQuery just write this:
// $('#testbutton').trigger('click');
fireClickEvent(document.getElementById('testbutton'));
}
}
// Event firing is not portable
function fireClickEvent(control) {
if (document.all) {
control.fireEvent("onclick");
} else {
var clickEvent = window.document.createEvent("MouseEvent");
clickEvent.initEvent("click", false, true);
control.dispatchEvent(clickEvent);
}
}
</script>
</head>
<body onkeydown="keyDowns(event);">
<input type="button" name="button" value="Test" id="testbutton" onclick="alert('Clicked to me, you can do whatever')" />
</body>
</html>