Insérer du code HTML dans une page avec AJAX

Je suis actuellement en train de développer un site web et j'ai besoin que les pages se charge dynamiquement en fonction de ce que les actions que l'utilisateur n'.

Exemple: Si l'utilisateur clique sur le bouton 'Paramètres' ajax fonction de la charge à partir d'une page externe le code et le mettre dans le div avec le tag 'paramètres'.

C'est le code que j'utilise pour faire la requête Ajax:

    function get_page_content(page, target_id)
    {
        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function()
        {
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
            {
                document.getElementById(target_id).innerHTML = xmlhttp.responseText;
                //After getting the response we have to re-apply ui effects or they
                //won't be available on new elements coming from request.
                $('button').sb_animateButton();
                $('input').sb_animateInput();
            }
        }
        xmlhttp.open('GET', 'engine/ajax/get_page_content.php?page=' + page, true);
        xmlhttp.send();
    }

Et c'est là que l'ajax résultats seront mis par le premier extrait:

<div id="settings_appearance">                
</div>

Le code est appelé à partir d'une fonction ici:

<div class="left_menu_item" id="left_menu_settings_appearance" onclick="show_settings_appearance()">
    Appearance
</div>

Et c'est le html qui l'ajax fonction de la mettre dans le settings_appearance div:

    <script type="text/javascript">
        $(function()
        {
            $('#upload_hidden_frame').hide();
            show_mybrain();

            document.getElementById('avatar_upload_form').onsubmit = function()
            {
                document.getElementById('avatar_upload_form').target = 'upload_hidden_frame';
                upload_avatar();
            }
        });
    </script>
    <div class="title">Appearance</div>
    <iframe id="upload_hidden_frame" name="upload_hidden_frame" src="" class="error_message"></iframe>
    <table class="sub_container" id="avatar_upload_form" method="post" enctype="multipart/form-data" action="engine/ajax/upload_avatar.php">
        <tr>
            <td><label for="file">Avatar</label></td>
            <td><input type="file" name="file" id="file" class="file_upload" /></td>
            <td><button type="submit" name="button_upload">Upload</button></td>
        </tr>
        <tr>
            <td><div class="hint">The image must be in PNG, JPEG or GIF format.</div></td>
        </tr>
    </table>

Je voudrais savoir si il existe un moyen pour exécuter également le code javascript qui est retourné par la fonction ajax (bouton télécharger dans la code_retour ne fonctionne pas à cause de cela) et si il est possible d'appliquer à certaines des effets d'interface-je construire qui sont chargés avec la page principale.

Merci pour votre aide.

P. S. C'est le script qui applique les effets d'INTERFACE:

<script type="text/javascript">
//UI effects
$(document).ready(function()
{
  $('button').sb_animateButton();
  $('input').sb_animateInput();
  $('.top_menu_item').sb_animateMenuItem();
  $('.top_menu_item_right').sb_animateMenuItem();
  $('.left_menu_item').sb_animateMenuItem();
});
</script>

P. P. S. des effets d'interface ne sont pas appliquées à des éléments html (telles que les contributions et les boutons) renvoyé par la fonction Ajax. J'ai utilisé un peu de solution de contournement en appliquant de nouveau de l'interface utilisateur-effets après ajax fonction renvoie la réponse. Probablement il y a une autre façon de faire... la même qui va m'aider à résoudre ce problème.

source d'informationauteur siannone