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サーバーで実行される)であるということです。実行時間が異なるため、2つを混在させることはできません。

できることは、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 に答える