2011-06-30 17 views
0

jqueryとphpを使用してシステムを作成しています。私のウェブサイトで私的なメッセージを受け取ると小さなdivがポップアップします。わたしが知ったアラート自体は、しかし、私はそれを優雅にキャンセルする方法がわかりません。Jqueryのリンクをクリックして情報をPHPに送信

"[x]"というリンクをクリックするとdivを隠すようにしましたが、リンクをPHPスクリプトに送信してこのアラートをデータベース内の "読み取り"としてマークするにはどうすればよいですか?

PHPのスクリプトで必要となるのは、データベース内のアラートのIDですが、そのようにする方法はわかりません。一度に複数の通知が表示されるので、各リンクがPHPスクリプトに必要な情報を送信する方法が必要です。

divをロードするjqueryとそれを動かすphpがあります。

<script type="text/javascript"> 
var auto_refresh = setInterval(
function() 
{ 
$('#mc').load('/lib/message_center.php').show("slow"); 
}, 10000); // refresh every 10000 milliseconds 
</script> 


<script type="text/javascript"> 

    $(document).ready(function(){ 
     $('.delete').live('click', function(){ 
      $('#mc').hide('slow'); 

    }); 
    }); 

</script> 

答えて

0

href="javascript:killbox(5);"ようなPHPによって生成あなたのX用href属性を設定し、あなたのdivに一意のID(すなわちid="boxtokill5")を得ました。

function killbox(id){ 
    $("#boxtokill"+id).hide(); 
    var packet = {}; 
    packet.clickedlinkid = id; 
    $.get("destination.php",packet,function(data){ 
     // data = Response (output) from script 
    }); 
} 

destination.php$_GET['clickedlink']でIDを受信します。そして、あなたはこのようなものを使用することができます。

+0

メッセージがユーザーに表示されることが十分であれば、不要な通信を防ぐためにjeroenのソリューションを使用する必要があります。 – Marco

0

最も簡単な解決策は、表示しているメッセージを表示するときに、それを表示するように設定することです。これは、ブラウザとサーバーの間の追加の通信を必要としません。その時点で表示しているメッセージの/lib/message_center.phpスクリプトの最後にそれを行います。

関連する問題