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 :

ça affiche NULL mais je veux que ça affiche rien.


Sujet :

JavaScript

Vue hybride

psychoBob ça affiche NULL mais je veux... 20/05/2006, 17h40
Swoög là, dit comme ça, on ne sait... 20/05/2006, 17h51
psychoBob Salut Swoög, Bon alors je... 20/05/2006, 18h06
Kerod Hummm question bete tu... 20/05/2006, 18h11
psychoBob Alors imaginons que le... 20/05/2006, 18h18
Swoög vérifies les valeurs de Titre... 20/05/2006, 18h14
psychoBob Justement, suis une tare en... 20/05/2006, 18h20
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut ça affiche NULL mais je veux que ça affiche rien.
    Bonjour,

    Sur un petit éditeur de texte maison et pas piqué des hannetons et pas de moi non plus d'ailleurs, j'ai cette fonction :

    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
     switch(balise)
                {
     
                    case 'a':
                        var URL=prompt("Adresse du lien:","http://");
                        var Titre=prompt("Titre du lien:","");
                        B="<"+balise+" href=\""+URL+"\" target=\"_blank\">"+Titre+"</"+balise+">";
                    break;
     
                      case 'b':
                        B="<"+balise+">"+B+"</"+balise+">";
     
                    break;
                    default:
                        B=balise;
                    break;
                }            
                with(document.forms[form].elements[textarea]) 
                {
                    focus();
                    value= AvantB +""+ B +""+ApresB;
                }
            break;
        }
    Et je crée des liens en appelant la fonction comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="button" class="out"  
     onClick="BBcode('a','editeur','contenu');"
     value="Lien hypertexte">
    Alors ça fonctionne bien, mais si le visiteur annule l'opération lorsque le prompte est lancé, ça affiche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="null" target="_blank">null</a>
    et ça c'est nul, c'est le cas de le dire, je voudrais que ça n'affiche tout simplement rien.

    Comment je fais s'il vous plait ?

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    là, dit comme ça, on ne sait pas du tout à quoi corresspondent tes différentes variables, impossible de t'aider...

    rajoutte juste un test pour vérifier que les valeurs sont correctes
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Salut Swoög,

    Bon alors je colle tout le bout de code, comme ça...

    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <script language="javascript"> 
    function switchDiv() 
    { 
    var madiv = document.getElementById('madiv'); 
    if (madiv.style.display=="none") madiv.style.display = ""; 
    else madiv.style.display = "none"; 
    } 
    function switchDiv2() 
    { 
    var rappelDef = document.getElementById('rappelDef'); 
    if (rappelDef.style.display=="none") rappelDef.style.display = ""; 
    else rappelDef.style.display = "none"; 
    } 
     
     
    function BBcode(balise,form,textarea)
    {
        switch (navigator.appName)   
        { 
            case "Microsoft Internet Explorer": 
                var haha=document.selection.createRange().text;    
     
                switch(balise)
                {
     
                    case 'a':
                        var URL=prompt("Adresse du lien:","http://");
                        var Titre=prompt("Titre du lien:","");
                        var insertion="<"+balise+" href=\""+URL+"\">"+Titre+"</"+balise+">";
                    break;
                    case 'b':
                        var insertion="<"+balise+">"+haha+"</"+balise+">";
                    break;
                    case 'i':
                        var insertion="<"+balise+">"+haha+"</"+balise+">";
                    break;
                    case 'citer':
                        var insertion="<"+balise+">"+haha+"</"+balise+">";
                    break;
     
                    default:
                        var insertion=balise;
                    break;
                }
     
                with(document.forms[form].elements[textarea]) 
                {
                    focus();
                }
                var sel=document.selection.createRange();
                sel.text=insertion;        
            break;
            case  "Netscape": 
                with(document.forms[form].elements[textarea]) 
                {
                    var AvantB = value.substring( 0, selectionStart );
                    var B = value.substring( selectionStart, selectionEnd );
                    var ApresB = value.substring( selectionEnd, selectionEnd +100000);
                } 
                switch(balise)
                {
     
                    case 'a':
                        var URL=prompt("Adresse du lien:","http://");
                        var Titre=prompt("Titre du lien:","");
                        B="<"+balise+" href=\""+URL+"\" target=\"_blank\">"+Titre+"</"+balise+">";
                    break;
                    case 'citer':
                        B="<"+balise+">"+B+"</"+balise+">";
                    break;
                    case 'i':
                        B="<"+balise+">"+B+"</"+balise+">";
                    break;
                    case 'b':
                        B="<"+balise+">"+B+"</"+balise+">";
     
                    break;
                    default:
                        B=balise;
                    break;
                }            
                with(document.forms[form].elements[textarea]) 
                {
                    focus();
                    value= AvantB +""+ B +""+ApresB;
                }
            break;
        }
    } 
     
     
     
    </script>
    Ensuite, en ce qui concerne le lien hypertexte, je l'appel comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="button" class="out" 
      onClick="BBcode('a','editeur','contenu');" 
    value="Lien hypertexte">
    Cette ligne se trouve donc dans le formulaire avec name="editeur" et le textarea name="contenu".


    Donc le lien se crée bien mais si on annule l'opération en route ça affiche, dans le textarea, ce que j'ai écrit au premier message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="null" target="_blank">null</a>
    Mais il faudrait que ça n'affiche rien, puisque le visiteur a annulé l'opération...

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Hummm question bete tu annules l'opération comment ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Hummm question bete tu annules l'opération comment ?

    Alors imaginons que le visiteur clique "lien hypertexte" :

    - Une fenêtre s'ouvre pour écrire l'url du lien
    - Il clique sur "ok"
    - Il doit maintenant écrire le titre du lien.
    - Il clique sur "ok" et le lien est créé dans le textarea (genre <a href="http:/www.bob.com">exemple</a>)

    Maintenant, le visiteur clique sur "lien hypertexte", mais décide d'annuler en cours :
    - Il clique, la fenêtre s'ouvre.
    - Soit il clique sur annuler, soit il clique sur la croix en haut à droite de la fenêtre.
    - Dans les deux cas, la fenêtre reste ouverte, mais on passe directement à la suite, soit l'indication du titre.
    - Là, que le gars clique annulé ou clique la croix, la fenêtre se ferme, et affiche le message NULL précisé plus haut, puisque rien n'a été renseigné, ni l'url ni le titre.

  6. #6
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    vérifies les valeurs de Titre et URL, s'il y en a une qui est pas bonne (i.e. qui est égale à la valeur renvoyée par prompt quand on annule) : break ou return
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 221
    Par défaut
    Citation Envoyé par Swoög
    vérifies les valeurs de Titre et URL, s'il y en a une qui est pas bonne (i.e. qui est égale à la valeur renvoyée par prompt quand on annule) : break ou return
    Justement, suis une tare en javascript, je sais pas du tout comment faire, je viens quémander un bout de code.

    En attendant d'apprendre... (je suis déjà au prise avec PHP là).

  8. #8
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Citation Envoyé par psychoBob
    En attendant d'apprendre... (je suis déjà au prise avec PHP là).
    normalement, on fait l'inverse... d'abord les langages côté client, ensuite ceux côté serveur...

    pour commencer, tu pourrais essayer de les comparer à null ou à "null"
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

Discussions similaires

  1. [Toutes versions] Requête qui affiche plusieurs champs mais ne groupe que par un seul
    Par Fandyz dans le forum Access
    Réponses: 10
    Dernier message: 14/10/2012, 18h19
  2. Réponses: 2
    Dernier message: 21/04/2010, 17h08
  3. Réponses: 3
    Dernier message: 06/05/2008, 20h48
  4. Réponses: 7
    Dernier message: 20/04/2004, 15h55

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