jquery ui ajax form thickbox

Jquery dialog can be made to work as a ajax form in a similair way to thickbox.

The link to the form (such as registration form), can be made to load inside a popup, and loaded using ajax by simply adding a class to the href.

For example this link could perform a registration, just like thickbox used to behave adding the class ‘dialog-form’ (the title is used to title the form popup) loading the content on submission.

<a href="/demos/thickdialog/form.php" class="dialog-form" title="Register">register</a>

Example: register

In order to do this you will need Jquery, and Jquery-UI and the code below.

Alternatively I have written a library called thickdialog which supports the form, confirmation box and pop ups just by adding a simple class, which is compatible with any framework and can be downloaded from there.

// form pop ups, just give an anchor point the class dialog_form, and the title will be used as the title 
$(function (){
    function submitBind(layout,original_url){
            /* stop form from submitting normally */
            url = $(this).attr('action')=='' ? original_url : $(this).attr('action');                    
            /* Send the data using post and put the results in a div */
                function(data) {
                    $('#dialog').dialog('option', 'position', 'center');
                    submitBind(layout, original_url);
    $('a.dialog-form').click(function() {
        var original_url = this.href;
        var title = this.title;
        // show a spinner or something via css
        var dialog = $('<div id="dialog" style="display:none" class="loading">Loading</div>').appendTo('body');
        // open the dialog
            width: dialogBox_width,
            // add a close listener to prevent adding multiple divs to the document
            close: function(event, ui) {
                // remove div with all data and events
            modal: true
        // load remote content
            function (responseText, textStatus, XMLHttpRequest) {
                // remove the loading class
                dialog.dialog('option', 'position', 'center');
                dialog.dialog('option', 'title', title);
        //prevent the browser to follow the link
        return false;
VN:F [1.9.9_1125]
Rating: 6.0/10 (4 votes cast)
VN:F [1.9.9_1125]
Rating: -2 (from 2 votes)
jquery ui ajax form thickbox, 6.0 out of 10 based on 4 ratings


This entry was posted on Wednesday, June 20th, 2012 at 12:47 pm and is filed under Javascript, Programming, Thickdialog. You can follow any responses to this entry through the RSS 2.0 feed.