0

我创建了一个书签页面,它从数据库中检索链接并显示它。我可以登录,添加新链接并删除它们。但是,当我删除一个条目时,它会显示delete.php而不是将页面加载到自身上(查询确实有效)。

在这一点上,我很可能使我的代码过于复杂,并且可能忽略了一些简单的东西,因为我已经为页面的其他元素使用了很多 JavaScript。

条目是动态添加的,因此这部分 HTML 被附加:

<h2>
    <a href="delete.php?URL='+url+'">[x]</a>
</h2>
<a href="'+url+'" target="iFrame" class="linkURL">
    <div class="bookmark">
        <h3 style="float: left;">'+title+'</h3>
        <br />
        <p>'+desc+'</p>
    </div>
</a>

JavaScript:

//  DELETE FUNCTION
$("h2 a").click(function() {
    return false;
    var action = $(this).attr('href');
    var form_data = {
        URL: $("#linkURL").attr('href'),
        is_ajax: 1
    }; // form_data
    $.ajax({
        type: "POST",
        url: action,
        data: form_data,
        success: function(response){
            if(response == 'success') {
                alert('Successful delete!');
            } else { // if
                alert('Delete failed.');
            } // else
        } // function(response)
    }); // ajax
    return false;
}); // h2

该页面位于此处:http ://samaradionne.com/links6/如果更容易查看整个内容。

4

2 回答 2

1

您同时使用锚标记a和点击事件。您将获得实际的 delete.php 页面,因为当您单击锚标记时,它就像任何常规链接一样工作。您的代码中没有任何地方说“嘿,实际上不要像往常一样遵循此链接”。

要不点击链接,您需要

<a href="yoururl" onclick="return false;">[x]</a>

此外,您将 jQuery click 事件附加到h2,这本身还不错,只是令人困惑,因为其意图是实际单击链接。在这种情况下,您需要:

$("h2 a").click(function(){});

最后,要将所有这些结合在一起,您可以执行以下操作:

 $("h2 a").click(function(){
     // your normal logic

     return false; // don't follow link
 });

然后你就不必onclick在锚标签里面了。

于 2012-11-08T15:28:41.357 回答
0

由于我的链接是动态生成的,因此我的 .h2 一次点击会附加到尚不存在的东西上。我在调用删除函数的追加函数中添加了一个事件触发器。

问题解决了。

于 2012-11-09T20:06:37.390 回答