venkatachalam
venkatachalam

Reputation: 102439

How load a PHP page in the same window in jQuery

I have a PHP file, Test.php, and it has two functions:

<?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>

It returns the response from jQuery. The response shows as <a href=Another.php?>Link</a>. When I click the Another.php link in test.php, it loads in another window. But I need it to load the same <div> </div> area without changing the content of test.php, since it has displayInfo(), displayDetails(). Or is it possible to load a PHP page inside <div> </div> elements?

How can I tackle this problem?

Upvotes: 2

Views: 14662

Answers (3)

James Hartig
James Hartig

Reputation: 1009

You could just use MooTools and class Request.HTML.

Upvotes: 0

gradbot
gradbot

Reputation: 13862

Krof is correct,

One possible unwanted behavior of this however is that it will query the data every time the link is clicked. You can set the event to only call the ajax query once by using one.

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

Don't forget to set href="javascript:{}" in your link so after the event is fired once the link wont do anything;

Upvotes: 0

Klemen Slavič
Klemen Slavič

Reputation: 19841

If I understand correctly, you'd like for the a link to cancel navigation, but fire the AJAX function?

In that case:

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

Upvotes: 5

Related Questions