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

Ext JS / Sencha Discussion :

erreur : R.doRemove is not a function


Sujet :

Ext JS / Sencha

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Points : 5
    Points
    5
    Par défaut erreur : R.doRemove is not a function
    Je suis actuellement en train d'essayer de développer un slide. Je voudrait que lorsque je clique sur le lien un panel apparaisse. Sauf que cela ne fonctionne pas et que l'erreur suivante s'affiche : R.doRemove is not a function

    Voici mon code :
    <%@ Page Language="vb" AutoEventWireup="false"%>
    <html>
    <head>
    <title>Exemple Slide</title>
    <script type="text/javascript" src="ext-base.js"></script> <!--permet de faire le slide, librairie Ext.2-->
    <script type="text/javascript" src="/lib/_extjs3/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="/lib/_extjs3/adapter/ext/ext-core-debug.js"></script>
    <script type="text/javascript" src="/lib/_extjs3/ext-all.js"></script>

    <script type="text/javascript">


    var clique = false;
    function getSlide() {

    if( !clique) {

    Ext.get('slide').slideIn('t',
    {
    duration: .5,
    remove: false,
    useDisplay: true,
    });
    clique = true;

    } else{

    if (clique) {

    Ext.get('slide').slideOut('t',
    {
    duration: .5,
    remove: false,
    useDisplay: true,
    });
    clique = false;
    }
    }
    }

    </script>
    </head>

    <body>
    <div id="slide" style="color=red; visibility:hidden; display:none;">
    <script type="text/javascript">
    MyPanel = new Ext.Panel({
    id: "slide",
    width: 250,
    height: 352,
    layout: 'fit',
    title: 'Création de requêtes étape 1',
    items: [
    {
    xtype: 'label',
    text: 'Etape 1 : Choisissez l\'opérateur souhaité'
    }
    ]
    });
    </script>
    </div>
    <a href ="#" onclick="getSlide();">Slide avec ExtJs</a>
    </body>
    </html>
    Une idée? Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    un petit fonctionnant ...

    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
    <html>
    <head>
    <title>Exemple Slide</title>
    <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
    <script type="text/javascript" src="../../ext-base.js"></script> <!--permet de faire le slide, librairie Ext.2-->
    <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="../../adapter/ext/ext-core-debug.js"></script>
    <script type="text/javascript" src="../../ext-all.js"></script>
     
    <script type="text/javascript">
     
     
    var clique = false;
    function getSlide() {
     
    if( !clique) {
     
    Ext.get('slide').slideIn('t',
    {
    duration: .5,
    remove: false,
    useDisplay: true,
    });
    clique = true;
     
    } else{
     
    if (clique) {
     
    Ext.get('slide').slideOut('t',
    {
    duration: .5,
    remove: false,
    useDisplay: true,
    });
    clique = false;
    }
    }
    }
     
    </script>
    </head>
    <!--style="color=red; visibility:hidden; display:none;"-->
    <body>
    <div id="slide"></div>
    <script type="text/javascript">
     
    Ext.onReady(function(){
    	var MyPanel = new Ext.Panel({
    		renderTo:'slide',
    		width: 250,
    		height: 352,
    		layout: 'fit',
    		title: 'Création de requêtes étape 1',
    		items: [{
    			xtype: 'label',
    			text: 'Etape 1 : Choisissez l\'opérateur souhaité'}]
    	});
     
    	MyPanel.show();
     
    });
    </script>
     
    <a href ="#" onclick="getSlide();">Slide avec ExtJs</a>
    </body>
    </html>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci mais ça ne fonctionne pas j'ai toujours la même erreur

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    En fait en enlevant Ext.onReady(function(){}) ça fonctionne presque correctement sauf que le panel s'affiche directement quand tu charges la page et ensuite il disparaît ou apparaît quand tu clique sur le lien. Je vais creuser ça un peu plus.
    En tout cas merci beaucoup

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    il ne faut pas enlever le onready ... cette fonction est executer apres le chargement des librairies ...

    il faudrait préciser ce que tu veux faire ...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Et bien ça marche si je le mets ou pas voilà les deux codes où cela fonctionne

    avex Ext.onReady

    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
     
    <%@ Page Language="vb" AutoEventWireup="false"%>
    <html>
    	<head>
    		<title>Exemple Slide</title>
    		<link rel="stylesheet" type="text/css" href="/lib/_extjs3/resources/css/ext-all.css" />
    		<script type="text/javascript" src="ext-base.js"></script> <!--permet de faire le slide, librairie Ext.2-->
    		<script type="text/javascript" src="/lib/_extjs3/adapter/ext/ext-base.js"></script>
    		<script type="text/javascript" src="/lib/_extjs3/adapter/ext/ext-core-debug.js"></script>
    		<script type="text/javascript" src="/lib/_extjs3/ext-all.js"></script>
     
    		<script type="text/javascript">
    			var clique = false;
    			function getSlide() {
     
    				if( !clique) {
     
    					Ext.get('slide').slideIn('t',
    						{
    						duration: .5,
    						remove: false,
    						useDisplay: true,
    						});
    					clique = true;
     
    				} else{
     
    					if (clique) {
     
    						Ext.get('slide').slideOut('t',
    						{
    						duration: .5,
    						remove: false,
    						useDisplay: true,
    						});
    						clique = false;
    					}
    				}
    			}
     
    		</script>
    	</head>
     
    	<body>
    		<div id="slide" style="color=red; visibility:hidden; display:none;">
    		<script type="text/javascript">  
     
    		MyPanel = new Ext.Panel({
    			renderTo: "slide",
    			width: 250,
    			height: 352,
    			layout: 'fit',
    			title: 'Création de requêtes étape 1',
    			items: [
    			{
    				xtype: 'label',
    				text: 'Etape 1 : Choisissez l\'opérateur souhaité'
    			}
    		    ]
    		});	
    		Ext.onReady(function(){
    		MyPanel.show();
    		});
    		</script>
    		</div>
    		<a href ="#" onclick="getSlide();">Slide avec ExtJs</a>
    	</body>
    </html>
    sans Ext.onReady

    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
     
    <%@ Page Language="vb" AutoEventWireup="false"%>
    <html>
    	<head>
    		<title>Exemple Slide</title>
    		<link rel="stylesheet" type="text/css" href="/lib/_extjs3/resources/css/ext-all.css" />
    		<script type="text/javascript" src="ext-base.js"></script> <!--permet de faire le slide, librairie Ext.2-->
    		<script type="text/javascript" src="/lib/_extjs3/adapter/ext/ext-base.js"></script>
    		<script type="text/javascript" src="/lib/_extjs3/adapter/ext/ext-core-debug.js"></script>
    		<script type="text/javascript" src="/lib/_extjs3/ext-all.js"></script>
     
    		<script type="text/javascript">
    			var clique = false;
    			function getSlide() {
     
    				if( !clique) {
     
    					Ext.get('slide').slideIn('t',
    						{
    						duration: .5,
    						remove: false,
    						useDisplay: true,
    						});
    					clique = true;
     
    				} else{
     
    					if (clique) {
     
    						Ext.get('slide').slideOut('t',
    						{
    						duration: .5,
    						remove: false,
    						useDisplay: true,
    						});
    						clique = false;
    					}
    				}
    			}
     
    		</script>
    	</head>
     
    	<body>
    		<div id="slide" style="color=red; visibility:hidden; display:none;">
    		<script type="text/javascript">  
     
    		MyPanel = new Ext.Panel({
    			renderTo: "slide",
    			width: 250,
    			height: 352,
    			layout: 'fit',
    			title: 'Création de requêtes étape 1',
    			items: [
    			{
    				xtype: 'label',
    				text: 'Etape 1 : Choisissez l\'opérateur souhaité'
    			}
    		    ]
    		});	
    		MyPanel.show();
    		</script>
    		</div>
    		<a href ="#" onclick="getSlide();">Slide avec ExtJs</a>
    	</body>
    </html>
    Ce que je voulais, c'est qu'après que ma page soit chargée, que lorsque j'appuie sur le lien "Slide avec ExtJs" un panel apparaisse et que lorsque je reclique dessus le panel disparaisse.
    Désolée si je n'est pas été assez claire dès le départ, en tout cas merci quand même

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Points : 1 212
    Points
    1 212
    Par défaut
    Est-ce que le problème pourrait venir du fait que ton panel est défini dans un script à part ?

    Personnellement, je mettrais tout dans un script en début de page, avec tout ce qui concerne Ext JS dans le Ext.onReady (même ta fonction getSlide() ou ton panel), puis, pour afficher le panel là où il faut, tu termines par un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyPanel.render('idMyDiv'); // ou bien renderTo: 'idMyDiv' dans la config de ton panel
    Mako

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Non ça ne marche pas désolé...
    Mais avec mes deux codes que j'ai laissé juste avant ton message ça fonctionne parfaitement =)

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 330
    Points
    330
    Par défaut
    je confirme, ca marche.

    Je voudrait que lorsque je clique sur le lien un panel apparaisse. Sauf que cela ne fonctionne pas et que l'erreur suivante s'affiche : R.doRemove is not a function...

    lorsque je testais(après quelques corrections), le panel s'affichait et le bouton marchait... je n'ai pas compris que le panel ne devait pas s'afficher après le chargement...

    bonne continuation

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

Discussions similaires

  1. erreur de type : is not a function
    Par wahhh dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/07/2013, 10h25
  2. [OpenLayers] étendre de la class Map donne l'erreur this.registerEvents is not a function dans Firebug
    Par lermit dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 09/08/2010, 15h48
  3. Erreur: createCaption not a function
    Par *.Har(d)t dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/11/2008, 17h40
  4. Erreur : document.test.submit is not a function
    Par King_T dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 16/05/2008, 23h09
  5. [AJAX] erreur: is not a function avec liste déroulante
    Par dr_octopus74 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/04/2007, 13h53

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