2008-12-16 54 views
2

我有一个PHP文件,test.php的加载一个PHP页面,它有两个功能:如何在同一窗口中的jQuery

<?php 
    echo displayInfo(); 
    echo displayDetails(); 
?> 

的JavaScript:

<html> 
    ... 
    <script type="text/javascript"> 
     $.ajax({ 
      type:'POST', 
      url: 'display.php', 
      data:'id='+id , 
      success: function(data){ 
       $("#response").html(data); 
      } 
     }); 
    </script> 
    ... 

    <div id="response"> 
    </div> 
</html> 

它返回响应来自jQuery。响应显示为<a href=Another.php?>Link</a>。当我点击test.php中的Another.php链接时,它会加载到另一个窗口中。但我需要它加载相同的<div> </div>区域而不更改test.php的内容,因为它具有displayInfo(), displayDetails()。或者是否有可能在<div> </div>元素中加载PHP页面?

我该如何解决这个问题?

回答

5

如果我理解正确,您想要a链接取消导航,但是会触发AJAX功能吗?

在这种情况下:

$("#mylink").click(function() { 
    $.ajax({ type: "POST", url: "another.php", data: {id: "somedata"}, function(data) { 
     $("#response").html(data); 
    }); 
    return false; 
}); 
0

Krof是正确的,

一个可能的这种不必要的行为是,它将每一个链接被点击时查询数据。您可以将事件设置为仅使用一个来调用ajax查询。

$("#mylink").one('click', function() { 
    // ajax call 
    return false; 
}); 

不要忘记设置HREF =“JavaScript的:{}”打完事件被触发,一旦链接不会做任何事情在你的链接;

+0

实际上,如果您通过返回false来取消事件冒泡,则不需要`href =“”`部分。尽管如果你想避免在a元素周围绘制轮廓(如果我没有记错的话),我认为它确实有帮助。 – 2009-01-14 14:16:47

相关问题