-1
<li>
    <a tabindex="-1" class ="accept" id="accept" 
        href="accept.php?claimid=<?php echo$row['claimid']?>">
            Accept
    </a>
</li>

action.php

<?php
    if(isset($_POST['username'])) {
        $action = addslashes($_POST['action']); 
    }
    $sql = "UPDATE claim set 
        username='".$_SESSION['username']."',
        action='accept' 
        where  claimid=".$_GET['claimid']."";
    $result=mysql_query($sql) OR die(mysql_error());
?>

ページで、私は受け入れて拒否するなどのアクションを持っています ページをリロードせずにここで受け入れたい

4

3 に答える 3

0

アンカー タグを使用する代わりに<div>、AJAX イベントを発生させるクリック イベントを使用して追加してみてください。

HTML

<li><div id="accept">Accept</div></li>

Javascript

$('#accept').click(function() {
  $.ajax({
    url: "accept.php?claimid=<?php echo$row['claimid']?>",
    // ...
    // ...
  });
});

.ajax()関数に渡すことができるものの詳細については、 jQuery のドキュメントを参照してください。

于 2013-04-06T08:13:51.580 に答える
0
$('#accept').click(function() {
                $.GET("/accept.php", { 'claimid': "<?php echo $row['claimid']?>",'username': "<?php echo $_SESSION['username']?>" },
                function(response) {
                    data = response;
                    alert(data)
                });
})

アクションファイルに何かをエコーし​​て、出力がアラートになるようにすることができます。

于 2013-04-06T08:16:40.650 に答える
0

これを試して:

<div class="accept" data-claim="<?php echo $row['claimid']; ?>">
    Accept
</div>

jQuery

$('div.accept').on('click', function (e) {
    e.preventDefault();
    var MyUrl = 'accept.php';
    $.ajax({
        data: {
            claimid: $(this).data('claim')
        },
        url: MyUrl,
        type: "get",
        success: function (data) {
            alert( "Task complete" );
        }
    });
});

<div class="accept" data-claim="<?php echo $row['claimid']; ?>" style="cursor: pointer; color: blue; text-decoration: underline;">
    Accept
</div>
于 2013-04-06T08:17:18.117 に答える