我有一个代码可以帮助确定按下哪个键。但我很困惑,我不知道如何保存这个键 - 按下按钮 - 。这可能吗?我可以在javascript中使用php代码在我的mysql数据库中创建一个新行吗?
<script type="text/javascript">
function textsizer(e) {
var evtobj = window.event ? event : e;
var unicode = evtobj.charCode? evtobj.charCode : evtobj.keyCode;
var actualkey = String.fromCharCode(unicode);
if (actualkey == "a") {
//database code needed
}
}
document.onkeypress = textsizer;
</script>
答案 0 :(得分:1)
您的主要问题是JavaScript是一种客户端语言(它在用户计算机上运行的浏览器中运行),PHP是服务器端语言(它在您的Web服务器上运行)。你不能将两者混合在一起,因为它们在不同的时间运行。
您可以使用AJAX将JavaScript代码中的请求发送到您的Web服务器,而无需在按下某个键时离开页面。您只需发送一个密钥代码(或密钥代码所代表的字符)作为请求的参数,然后您的Web服务器就会处理将该信息保存到您的数据库。
答案 1 :(得分:0)
这里有一些代码可以帮助你实现目标。我选择使用jquery,它会使这更直接。
window.bind('keydown', function(event){
$.ajax(
{
url: 'http://asite.com/script_to_save_codes_to_db.php',
data: event.keyCode,
type: 'POST',
success: function (data){
//have the server respond with a boolean indicating that the keycode was saved to the db or not and decide what to do next
}
}
);
});
在服务器端如何工作是一整套'蠕虫',因为它将取决于您的服务器端语言和数据库选择。
对于一个完全客户端的解决方案,你可以将keyCodes作为json字符串保存到localStorage或cookie,然后用它做你想做的事......但是那些可以随时擦除,我不会称之为数据库