我已经找了一段时间,似乎找不到这个答案。我是JQuery新手,对PHP更熟悉(虽然我充分意识到在PHP中不可能实现此行为,因此在JQuery中搜索答案)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#keyboard").keyup(function(e){
var key = e.keyCode ? e.keyCode : e.which;
if (key == 87) {
alert("keyup event occured! The Ascii value of pressed key is: " + event.keyCode);
}
});
});
</script>
对于初学者来说,这是我所拥有的按键。现在它只是一个例子,如果w键被按下然后释放,它基本上告诉我,它被按下了。
我的表单是这样的:
<form action="URL">
<input type="text" id="keyboard" />
</form>
在我发现的每个实例中,似乎你需要有一个文本区域或类似的东西。是否需要文本区域?我希望有文本区域被删除,只是有页面响应我的W按钮的点击,任何地方。
附带说明一下,如果可能的话,我该如何提交给php ?
use $(document).keyup(function(e){ ...
这样就可以全局捕获键事件
在你的旁注…
- 你在动作标签中提供的URL,这是将要执行的脚本。
- 在这个(php)脚本中,你可以通过POST[]从你发送的输入中获得变量。
JS:
<form action="path/to/script.php">
<input type="text" id="keyboard" name="keyboard" />
</form>
PHP(路径//script.php):
$variable = $_POST['keyboard']; //this uses the name-tags from the inputs in the form
虽然您可能想要查看 ajax请求 (jQuery中的$.post
和$.get
),但在很多情况下,它们比传统的基于表单的php调用有优势。
应该这样做:
$(document).ready(functionn(){
$(document).on('keyup', function() {
//your code here including
//$('form')[0].submit();
});
});