This is a post for beginners because that is what I am.

Today I was adding some Ajax to our site. Seeing that this is my first day of Ajax and that I only have very little experience with jquery, I thought it would be hard. So I started off with little things.

First, I wanted to add a summary to our authorlist page. But I’ll talk about that in another article.

I wanted to provide users a way to access some of phpBB’s built-in functionality without the need for a full postback, so that the user is not taken away from the page. I chose something simple and found out how you can do this with a bit of ajax and jquery.

This thing was there in the form of a link and I don’t want to change any of the html since I still want that the way it is for people who use no javascript.

It is very easy.

javascript $(document).ready(function() { $("#id").click(function() { var str = $("#id").text(); $.ajax ({ type: "GET", url: $("#id")[0].href, success: function(msg) { $("#id").text(str == 'old' ? 'new' : 'old'); } }) return false; }); }); First thing I found out was that I needed to return false to override the normal behaviour of a link. Without this, the normal postback will just take place and your script is pretty useless.

Next, I wanted to do the postback in an asynchronous way. For this I can use the jquery ajax method with type GET I just use the link that is there in the href ($(“#id”)[0].href) which is pretty cool since I could do this for an entire class of links. then I just change the text of the link if it is old then it becomes new else it becomes old.

Pretty simple I think. Although it took me some time to find out that if you have a syntax error somewhere in the jquery script, then it just does nothing. And if you do $(“#id”).text instead of $(“#id”).text() you will get some bizarre code that shows a function.

In the line success: function(msg) the msg parameter will contain the text that you would normally see on a normal postback.

Thanks to SQLDenis, AlexCuse and Remou for proofreading this article.