3

ユーザーがそのアイテムを「再生したい」とマークするための送信ボタンを備えたシンプルな1つのチェックボックスフォームを持つページがあります。

単純さを考慮して、ユーザーがクリックしてマークを付けることができるように、単一のDIVとトグルボタンまたはスイッチなどのグラフィックに置き換えたいと思いますが、愚かな単一のチェックボックスと送信ボタンを気にする必要はありません。かなり醜いです。

私が考えることができる短くて迅速な解決策は、divを次のようなリンクにすることです

markme.php?id=XYZ&user=123

これにより、そのユーザーのデータベースにフラグが表示され、表示していたページにリダイレクトされます。

それは合理的でしょうか?もっと良い方法はありますか?

/meは熱狂的な初心者です

4

1 に答える 1

6

データベースなどを更新するページ ハンドラーに要求を送信する AJAX 要求を実行するイベントがバインドされているものにします。正常に完了すると、CSS スタイルが変更されて押されたように見え<button>ます。onclick

イベント バインディングAJAX リクエスト、およびCSS クラス変更にjQuery を使用すると、このスタイルが機能してボタンが押し下げられたように見えるはずです。

<button type="button" id="btnPlay">Play</button>

それで:

 $("#btnPlay").click(function(){

    var button = $(this) ;

    if (!button.hasClass('pressed')) {
        //button is unpressed
        $.post("ajax.php", { userId: "5512", action: "play" },
            function(data){
               button.addClass('pressed');
               button.html("Playing!") ;
            }
        );
    }
    else {
        //button is pressed, toggle it back
        $.post("ajax.php", { userId: "5512", action: "stopPlaying" },
            function(data){
               button.removeClass('pressed');
               button.html("Play") ;
            }
        );
    }


});
于 2010-09-26T10:47:51.337 に答える