0

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

2 回答 2

1

您的主要问题是 JavaScript 是一种客户端语言(它在用户计算机上运行的浏览器中运行)而 PHP 是一种服务器端语言(它在您的 Web 服务器上运行)。您不能将两者混合在一起,因为它们在不同的时间运行。

您可以做的是使用 AJAX 将请求从您的 JavaScript 代码发送到您的 Web 服务器,而无需导航离开页面,只要按下一个键。您只需发送一个键码(或键码代表的字符)作为请求的参数,然后您的 Web 服务器将处理将该信息保存到您的数据库中。

于 2012-10-29T14:38:54.657 回答
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 中,然后用它做您想做的事情......但是这些可以随时擦除,我不会称它们为数据库。

于 2012-10-29T15:34:06.013 回答