2009-08-25 9 views
0

Aidez-moi s'il vous plaît je suis un débutant en ajax et framework jQuery, je fais en jQuery une page, avec différents plugins une page, mais quand je reçois le code html d'ajax, et n'est pas cliquable, je l'ai utilisé une fonction live(), mais seulement aidé le plug-in supprimer, avec le plugin d'édition ne fonctionne pas, ce qui peut être le problème ...Le code html généré n'est pas cliquable

Ce script est l'édition

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.editme').editable('func/update_data.php', { 
      submitdata: { 
       type: "<?php echo $page_type?>" 
      }, 
      cancel: 'Cancel', 
      submit: 'OK', 
      tooltip: 'Click to edit...', 
      id: 'element_id', 
      name: 'update_value', 

     }); 
    }); 
</script> 

ceci est le script pour la fenêtre modale du plugin et

$(document).ready(function() { 
    $('#basicModal input.basic, #basicModal a.basic').click(function (e) { 
     e.preventDefault(); 
     $('#basicModalContent').modal({ 
      onOpen: function (dialog) { 
       dialog.overlay.fadeIn('slow', function() { 
        dialog.data.hide(); 
        dialog.container.fadeIn('slow', function() { 
         dialog.data.slideDown('slow'); 
        }); 
       }); 
      }, 
      onClose: function (dialog) { 
       dialog.data.fadeOut('slow', function() { 
        dialog.container.hide('slow', function() { 
         $.modal.close(); 
        }); 
       }); 

      } 
     }); 

    }); 

    $("form#submit_wall").submit(function() { 
     var message_wall = $('#message_wall').attr('value'); 
     $('#message_wall').val(''); 
     $.ajax({ 
      type: "POST", 
      url: "func/insert.php", 
      data: "message_wall=" + message_wall, 
      dataType: "html", 
      complete: function() { 
       $('#basicModalContent').html('<div class="succes"><p>Successful</p> Your record was posted ! </div>'); 
       setTimeout(function() { 
        $.modal.close() 
       }, 
       1200); 
      }, 
      success: function (response) { 
       $("div#wall").html(response); 
       //$("div#wall").prepend("<span style='display:none'>"+message_wall+"</span>"); 
       //$("div#wall span").fadeIn(); 
      } 
     }); 
     return false; 
    }); 

}); 

ce code est en php pour générer html

<?php if(isset($_POST[ 'message_wall'])){ 
    /* Remove HTML tag to prevent query injection */ 

    $message=strip_tags($_POST[ 'message_wall']); 
    echo '<div class="container_date"> 
      <span style="float: left;"> 
      <p class="editme" id="200">Sex</p> 
      </span> 
      <span style="float: right;" align="left"> 
      <a href="javascript:void(0)" id="200" class="delete">Delete</a> 
      </span> 
      <br class="clearfloat"> 
     </div>'; 
} ?> 

c'est la première fois pour l'affichage sur ce site, désolé pour les erreurs et pour mon anglais

+0

veuillez corriger la mise en forme de l'article –

+0

Veuillez ajouter les balises de code appropriées pour que ce soit plus lisible. – Killroy

+0

aussi il serait utile si vous fournissiez un lien vers la page de test. aiderait les partisans de SO déboguer cela et comprendre le problème –

Répondre

1

Il est très difficile de comprendre ce que vous voulez, mais il semble pour moi comme ceci:

Vous exécutez $ ('. editme'). editable() une seule fois, lorsque l'événement document.ready se déclenche. editable() passe par le DOM à ce moment-là, et rend tous les éléments avec la classe "editme" cliquable. Lorsque vous ajoutez un message et obtenez la réponse de votre script PHP via AJAX, la réponse contient une balise P avec la classe "editme". Mais comme cela se produit après le lancement de document.ready, vous devrez exécuter editable() à nouveau sur ce nouvel élément de page pour le rendre cliquable.

0

Grand Merci, je maintenant c'est vraiment difficile de comprendre le script, mais c'est ma première fois à poster ici, et je n'ai aucune idée de comment demander, votre réponse m'a aidé, je mets une fois de plus à répéter le() dans le script php, réponse d'ajax, et fonctionne !!! ... Merci encore!

Questions connexes