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 :

Appel fonction JavaScript dans réponse serveur via ajax.request


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
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Par défaut Appel fonction JavaScript dans réponse serveur via ajax.request
    bonjour,

    voila mon probleme

    a partir d'un bouton radio, j'effectue une ajax.request qui appelle un fichier php.
    Le but est d'afficher un textarea pour envoyer un sms avec un compteur qui denombre le nombre de caracteres tape.
    Cette fonction updatecounters marche nickel sans passage par ajax mais le decompte ne fonctionne plus par cette methode. J'ai bien le textearea qui s'affiche mais c'est tout, pas de decompte .....

    Voivi les differents codes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "<input type=\"radio\" id=\"message_doc1\" name=\"message_doc\" value=\"1\" onclick=\"getMedecin(document.getElementById('message_doc1').value,'send_message');\"> Oui&nbsp;&nbsp;<input type=\"radio\" id=\"message_doc2\" name=\"message_doc\" value=\"0\" onclick=\"getMedecin(document.getElementById('message_doc2').value,'send_message');\" checked> Non</p>";
    	echo "<span id=\"send_message\">";
          include 'send_message.php';
        echo "</span>";
    Dans le meme fichier php, voici ma fonction GetMedecin
    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
        function getMedecin(value,name) {
        var url = name+'.php';
     
         parametre="sms="+value;
     
        var myAjax = new Ajax.Request (
           url,
          {
           method: "post",
    	   evalScripts: true,
           parameters : parametre,
           onSuccess: function transResult (response) {
             document.getElementById(name).innerHTML=response.responseText;
           },
           onFailure: function transResult (response) {
            alert ('Failure'+response.responseText);
           }
          }
        );	
        return false;
        }
    Pour finir, mon fichier php
    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
    31
    32
    33
    34
    <?php
     
    if (isset($_POST['sms'])) {
      $sms=$_POST['sms']; 
      if ($sms==1) {
     
         ?>
     
        <script language="JavaScript" type="text/javascript">
        <!--	 
          function updateCounters(text_area_id, display_chars_id, display_sms_id) { 
          var text_area = document.getElementById(text_area_id);
          var display_chars = document.getElementById(display_chars_id);
          var display_sms = document.getElementById(display_sms_id);
          if(text_area && display_chars && display_sms){
            if(display_chars.type)
                display_chars.value = text_area.value.length;
            else
                display_chars.innerHTML = text_area.value.length;
            if(display_sms.type)
                display_sms.value = Math.ceil(text_area.value.length/160);
            else
                display_sms.innerHTML = Math.ceil(text_area.value.length/160);
          }
        }
        //-->
        </script> 
    	 <?php
     
            echo "SMS:<div><span id=\"nb_sms\">0</span> (<span id=\"nb_chars\">0</span> chars)</div>";
            echo "<p><label for=\"send_sms_doc\">SMS au m&eacute;decin:</label><textarea name=\"send_sms_doc\" rows=\"5\" cols=\"50\" onKeyUp=\"updateCounters('text', 'nb_chars', 'nb_sms')\">SMS</textarea></p>";
      }
    }
    ?>
    Une idee ?
    J'ai fais deja pas mal de recherche avec prototype, evalscripts, eval, window.eval mais je n'arrive a rien !!!!

    Voila


  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Essaye avec :
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Par défaut
    Le probleme ne vient pas de la, l'appel fonctionne correctement puique mon textarea apparait bien lorsque je clique sur le bouton radio oui.
    Ce qui ne marche pas c'est la fonction updateCounters qui est appelle dans le fichier send_sms.php.
    C'est un probleme qui semble recurent qui a une solution semble t il mais que je ne trouve pas malgre mes recherche de"puis plusieurs jours !!!

  4. #4
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Ta réponse contient un script qui n'est pas évalué, donc il ne peut pas s'exécuter.

    Regarde le lien suivant, ou cherche du coté de evalScript()
    http://www.developpez.net/forums/sho...9&postcount=18

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Par défaut
    Je galere !!!! Je pense que la solution est effectivement la mais je galere vraiment pour l'adapter a mon probleme sachant que je trvaille avec prototype et je n'arrive pas a l'inserer correctement dans ma fonction getMedecin !!!

    Une idee pour moi ?


  6. #6
    Membre Expert Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Par défaut
    Si ton problème c'est juste de charger ton script, pourquoi tu ne l'ajoutes pas dans un fichier externe au chargement de la page?

    Comme ca il serait disponible a chaque fois... En fait je comprend pas l'intéret de charger un script qui est juste une fonction, sans appel.

Discussions similaires

  1. [MySQL] appel fonction javascript dans php
    Par diengkals dans le forum PHP & Base de données
    Réponses: 25
    Dernier message: 26/12/2012, 16h33
  2. Appel fonction JavaScript dans HTML
    Par audrey1912 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 09/08/2012, 11h51
  3. appel fonction javascript dans un fichier php
    Par Sharcoux dans le forum Langage
    Réponses: 2
    Dernier message: 02/08/2011, 13h11
  4. appeler fonction javascript dans code ASP
    Par skunkies dans le forum ASP
    Réponses: 10
    Dernier message: 18/12/2009, 16h12
  5. cgi/javascript : appeler fonction javascript dans code cgi, need help!
    Par Mr.ux dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2007, 07h33

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