确定按下哪个键并保存到数据库

时间:2012-10-29 14:26:01

标签: php javascript database

我有一个代码可以帮助确定按下哪个键。但我很困惑,我不知道如何保存这个键 - 按下按钮 - 。这可能吗?我可以在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>

2 个答案:

答案 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,然后用它做你想做的事......但是那些可以随时擦除,我不会称之为数据库