IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Ajax et "dragabilité" [Prototype]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Par défaut Ajax et "dragabilité"
    Bonjour,

    j'utilise ceci dans une page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <img src="images/1.png" alt="1" id="1" width="32" height="32" />
    <script type="text/javascript">new Draggable('1', {revert:true})</script>
    <img src="images/2.png" alt="2" id="2" width="32" height="32" />
    <script type="text/javascript">new Draggable('2', {revert:true})</script>
    Mes images sont "dragables"

    J'utilise Ajax pour aller chercher les ID dans une base et je retourne
    le même code dans un DIV:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('reponse').innerHTML = requester.responseText;
    ça m'affiche bien les images mais plus dragables

    Une idée?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 116
    Par défaut
    Essaye de relancer le constructeur Draggable juste après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('reponse').innerHTML = requester.responseText;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Par défaut
    Citation Envoyé par jbeaussier Voir le message
    Essaye de relancer le constructeur Draggable juste après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('reponse').innerHTML = requester.responseText;
    Houla !

    Hors de ma compétence ça

    voici mon client.js:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    function bindTextField(e) {
    	Event.observe($('edtName'), "blur", syncName, false);
    } 
     
    function syncName(e) {
    	new Ajax.Request('search_results.php',
    		{
    			method: 'get',
    			parameters: $H({'article': $F('edtName')}).toQueryString(),
    			onComplete: function(requester) {
    		$('reponse').innerHTML = requester.responseText;
    			}
    		});
    	} 
     
    Event.observe(window, "load", bindTextField, false);
    et mon fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script src="js/prototype.js" type="text/javascript"></script>
    <script src="js/scriptaculous.js" type="text/javascript"></script>
    <script src="js/src/unittest.js" type="text/javascript"></script>
    <script src="client.js" type="text/javascript"></script>
    <title>demo</title>
    <style type="text/css" media="screen">
    <!--
    @import url("democss.css");
    -->
    </style>
    </head>
     
    <body class="oneColElsCtrHdr">
    <div id="container">
    	<div id="titre">
        	<h4>Magasin FileMaker</h4>
              <input type="text" name="edtName" id="edtName" value="" />
         </div>
    </div>
    <img src="images/1.png" alt="1" id="1" width="32" height="32" />
    <script type="text/javascript">new Draggable('1', {revert:true})</script>
    <img src="images/2.png" alt="2" id="2" width="32" height="32" />
    <script type="text/javascript">new Draggable('2', {revert:true})</script>
    <div id="reponse"></div>
    </body>
    </html>
    Je ne sais pas relancer le constructeur Draggable

    Une p'tite aide ?

    Merci

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Par défaut
    Salut,

    Par "relancer le constructeur Draggable", je pense que jbeaussier voulait dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    onComplete: function(requester) {
      $('reponse').innerHTML = requester.responseText;
      ['1', '2'].each(function(id) { new Draggable(id, {revert: true}); });
    }

    Cela dit, puisque tu utilises Prototype, pourquoi ne pas utiliser Ajax.Updater au lieu de Ajax.Request ?
    En plus, Ajax.Updater te permet d'évaluer le JS contenu dans les tags <script> avec l'option evalScripts

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Par défaut
    Citation Envoyé par Taum Voir le message
    ['1', '2'].each(function(id) { new Draggable(id, {revert: true}); });
    1, 2 ? pas dynamique tout ça

    je vais essayer avec ajax.updater

    (je débute avec prototype et JS)


    Merci en tout cas

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 21
    Par défaut
    Bein,

    J'ai utilisé ajax.updater mais idem

    Je ne sais pas comment évaluer le script, un exemple ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function bindForm() {
    		Event.observe($('edtName'), "blur", switchToAJAX, false);
    }
     
    function switchToAJAX(e) {
    	Event.stop(e);
    	var data = $H({'article': $F('edtName')}).toQueryString();
    	new Ajax.Updater('reponse', 'search_results.php',
    	{
    		postBody: data, insertion: Insertion.Bottom
    	});
    }
     
    Event.observe(window, 'load', bindForm, false);



    evalScripts:true

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Librairies] Api AJAX
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/10/2005, 16h57
  2. [AJAX] Effectuer plusieur appel ajax
    Par shwin dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/10/2005, 16h40
  3. [AJAX] Ajax et javascript contenu
    Par zekey dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/09/2005, 20h16
  4. [AJAX] AJAX et javascript
    Par spud5351 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/09/2005, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo