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

JavaScript Discussion :

[AJAX] Ajax.updater qui n´arrive pas a afficher, le contenu dans la div indiquée


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut [AJAX] Ajax.updater qui n´arrive pas a afficher, le contenu dans la div indiquée
    bonjour tout le monde,

    j´ai un petit souci

    je ne comprend vraiment rien, j´ ai une page php ayant du html, et un fichier javascript, quand j´appuie sur le button chercher, cela ne me renvoi pas a la page concerner, pourtant les autres marche impeccablement
    voici les concernés :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    la function javascript 
    function fSuche(sTable,sAction)
    {
            showLoading();
            url = 'Lib/ProzessSuche.php';
            target = 'fuss';
            $('fuss').style.display = '';
            if(sAction =='')
            {
              $('fSuchen').reset();
            }
            pars = Form.serialize('fSuchen');
     
            pars +='&tbl='+sTable;
            myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
     
            sTabelle =sTable;
            url = './datagrid3/example_oracle.php';
     
            target = 'inhalt';
            pars = Form.serialize('fSuchen');
     
            pars +='&tbl='+sTabelle;
     
            myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});       
     
    }
     
     
    function showLoading()
    {
      $('inhalt').innerHTML ="<center><font style='font-size=12px;'>Données en cours de telechargement ...</font><img src='../Images/common/loading.gif'></center>";
    }
     
     
    document html permettant d´envoyer la requete a la function fSuche(sTable,sAction): 
     
    <div id ='suche2' style="position:absolute; left:0px; top:0px;  border:0px; ">
       <form method="post" name="fSuchen" id ="fSuchen">
         <fieldset class='blue_class_legend' style=" width:200px; height:140px;  border:0px; " >
           <legend>
    	     <font color='blue'>
    		   SUCHE
    		 </font>
           </legend>
    	   <table border=0 align='center' width='200px'  > 
             <tbody>
               <tr valign="middle">
    		     <td>&nbsp;</td>
    			 <td> 
    			   <select class="blue_class_select" name="blindsucheOperator" id="blindsucheOperator">
    			     <option value="=">egal</option>
    				 <option value="&gt;=">plus grand que</option>
    				 <option value="&lt;">plus petit que</option>
    				 <option value="like">exactement</option>
    				 <option value="like%">commence avec</option>
    				 <option value="%like">finit avec</option>
    				 <option value="%like%">contient</option>
    				 <option value="not like">ne contient pas</option>
    			  </select>
    		    </td>
               <td align="rigth" width="50%">
                 <input class="blue_class_textbox" size=6 value="" name="blindsucheOperatortext" id="blindsucheOperatortext" type="text">
    		   </td>
    		   <td colspan="5" align="center">
    		     <input class="blue_class_button" name="SUBMIT_FILTER" id="SUBMIT_FILTER" value="chercher" type="submit" onclick="fSuche('KATASTER','suche'); return false;">&nbsp;
    		     <input class="blue_class_button" name="SUBMIT_RESET" id="SUBMIT_RESET" value="annuller" accesskey="13" type="button" onclick="fSuche('KATASTER','');return false;">
    		   </td>
             </tr>
             <tr>
    		   <td colspan="5" style="font-size:10px;" color='black' align="center" height="6">
    		   </td>
    		 </tr>
    	   </tbody>
    	 </table>
       </fieldset>
     </form>
    </DIV>
     
    <div id="inhalt"> </div>
    je ne comprend vraiment rien.
    de plus avant cela marchait impeccablement, maintenant seul le marche mais il n´arrive pas dans la 2eme requete ajax.updater();
    quelqu´un a-t - il une idée. pourquoi le loading n´est pas remplacé par la seconde requete.

    Merci d´avance

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    La variable Form n'est pas déclarée dans ton exemple, l'est-elle en global
    ou est-ce que tu voulais écrire plutot:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            pars = $('fSuchen').serialize();

  3. #3
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    non elle est bien declare, c´est la balise du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     <form method="post" name="fSuchen" id ="fSuchen">
    </form>
    si tu regardes bien mon code, c´est elle qui entoure les balises <input>,

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    ce que tu montre là est un fragment html, rien à voir avec
    une déclaration de variable javascript.

  5. #5
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    avec le prototype que j´utilise, quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form.serialise("le_nom_de_ton_formulaire");
    'Form' veux tout simplement dire que c´est un formulaire c´est pour cela que j´ai fait allusion a cela.

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    ok désolé j'ai plus utilisé prototype depuis quelques temps

    Bon alors pour ton problème:

    Le formulaire est posté, il provoque un rechargement de ta page.

    tu as utilisé un return false dans le onclick de ton bouton, ce qui
    évite en effet le traitement par défaut du click.

    mais comme ton bouton est de type submit, cela produit un autre
    évènement qui lui n'est pas désactivé.

    tu peux par exemple mettre un onsubmit="return false;" dans ta
    balise form pour corriger le problème.

    mais il serait plus judicieux de mettre directement
    onsubmit="fSuche('KATASTER','suche'); return false;" dans ta balise
    form et oublier la gestion du onclick sur ce bouton.

    D'autre part, tu pourrais aussi éviter les évènements DOM0 en assignant
    tes évènements avec Event.observe qui a l'avantage d'autoriser un
    éventuel chainage, qui permet une meilleure séparation du code html/js
    et qui permet aussi d'utiliser Event.stop pour gérer les évènement qui
    ne doivent pas 'continuer'

    un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Event.observe(window, 'load', function() {
      Event.observe("fSuchen", 'submit', function(event) {
        Event.stop(event); // ou event.stop() dans les dernières versions de prototype
        ... ton code ici
      });
     
    });

Discussions similaires

  1. [MySQL] Probleme pour afficher du contenu dans un div qui se repete
    Par design_57 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/11/2012, 07h23
  2. Réponses: 4
    Dernier message: 27/06/2012, 13h44
  3. [AJAX] le getelementbyid qui veut pas
    Par zooffy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2007, 13h46
  4. requête update qui marche pas
    Par MrsFrizz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/12/2004, 08h16

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