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 :

2 codes à merger en un seul : pas possible


Sujet :

JavaScript

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut 2 codes à merger en un seul : pas possible
    Bonjour,

    j'ai un problème très bizarre : je souhaite faire un code qui affiche au choix 2 photos, l'une d'elle étant choisie de préférence si l'utilisateur la rentre sinon l'autre. Et en fait, ça ne marche qu'avec 2 codes distincts : un si l'utilisateur rentre une photo
    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
          <script>
    var sesainfoauthor = new Array(3);
    sesainfoauthor[0] = new Object;
    sesainfoauthor[1] = new Object;
    sesainfoauthor[2] = new Object;
    if (h_CurrentSkinType=='h_Edit') {
    document.write("<td class='h-fieldHeaderEdit-bgtext'>");
    document.write("Last Name<br><"+"input size='50' type='text' name='h_getName'><br>");
    document.write("First Name<br><"+"input size='50' type='text' name='c_getFirstName'><br>");
    document.write("Job Title<br><"+"input size='50' type='text' name='c_getJob'><br>");
    document.write("Phone number<br><"+"input size='50' type='text' name='c_getPhone'><br>");
    document.write("Mobile number<br><"+"input size='50' type='text' name='c_getMobile'><br>");
    document.write("e-Mail address<br><"+"input size='50' type='text' name='c_getMail'><br>");
    document.write("<br>You may provide your photo (jpg or gif format) in the attachment area at the bottom<br>");
    } else {
    sesaArray=loadsesa(h_OriginatorDistinguishedName);// h_LastEditorDistinguishedName
    var idNotes=extract_NotesID(h_OriginatorDistinguishedName);//h_OriginatorDisplayName
    var ind=0;
    var comp=0;
    do {
    sesainfoauthor[ind]=load_personal_data(sesaArray,ind);
    comp=extract_idnotes_sansfin(sesainfoauthor[ind].idnotes);
    ind++;
    } while (comp!=idNotes);
    document.write("<td class='h-page-text' width='200'>");
    var sFileName=showID();
    document.write("</td><td class='h-page-text'>");
    var titi=sesainfoauthor[ind-1].urlphoto;
    if ((sesainfoauthor[ind-1].urlphoto.length==0)&&(sFileName.length==0)) sesainfoauthor[ind-1].urlphoto="http:\/\/directory.schneider-electric.com\/Global\/Corp\/IntDirPhotos.nsf\/PhotosByGUID\/SESA0000\/$File\/sesa0000.jpg";
    // ici, on sélectionne la photo entrée par l'utilisateur
    if ((sFileName.length>0)) titi=sFileName;
    document.write('<img src=\"'+titi+'\" height=\"100\"><br>');
    document.write(c_Job+'<br><br>');
    document.write("Phone :"+c_Phone+"<br>");
    document.write("Mobile :"+c_Mobile+"<br>");
    document.write("E-Mail :"+c_Mail+"<br>");
    }
          </script>
    et un si l'utilisateur ne rentre pas de photo
    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
         <script>
    var sesainfoauthor = new Array(3);
    sesainfoauthor[0] = new Object;
    sesainfoauthor[1] = new Object;
    sesainfoauthor[2] = new Object;
    if (h_CurrentSkinType=='h_Edit') {
    document.write("<td class='h-fieldHeaderEdit-bgtext'>");
    document.write("Last Name<br><"+"input size='50' type='text' name='h_getName'><br>");
    document.write("First Name<br><"+"input size='50' type='text' name='c_getFirstName'><br>");
    document.write("Job Title<br><"+"input size='50' type='text' name='c_getJob'><br>");
    document.write("Phone number<br><"+"input size='50' type='text' name='c_getPhone'><br>");
    document.write("Mobile number<br><"+"input size='50' type='text' name='c_getMobile'><br>");
    document.write("e-Mail address<br><"+"input size='50' type='text' name='c_getMail'><br>");
    document.write("<br>You may provide your photo (jpg or gif format) in the attachment area at the bottom<br>");
    } else {
    sesaArray=loadsesa(h_OriginatorDistinguishedName);// h_LastEditorDistinguishedName
    var idNotes=extract_NotesID(h_OriginatorDistinguishedName);//h_OriginatorDisplayName
    var ind=0;
    var comp=0;
    do {
    sesainfoauthor[ind]=load_personal_data(sesaArray,ind);
    comp=extract_idnotes_sansfin(sesainfoauthor[ind].idnotes);
    ind++;
    } while (comp!=idNotes);
    document.write("<td class='h-page-text' width='200'>");
    var sFileName=showID();
    document.write("</td><td class='h-page-text'>");
    /* je dois copier sesainfoauthor[ind-1].urlphoto dans titi, car sinon le code <img src=...> ci-dessous ne marchait pas */
    var titi=sesainfoauthor[ind-1].urlphoto;
    if ((sesainfoauthor[ind-1].urlphoto.length==0)&&(sFileName.length==0)) sesainfoauthor[ind-1].urlphoto="http:\/\/directory.schneider-electric.com\/Global\/Corp\/IntDirPhotos.nsf\/PhotosByGUID\/SESA0000\/$File\/sesa0000.jpg";
    // Si je remplace toto par titi, ça ne marche plus !
    if (sFileName.length>0) toto=sFileName;
    else;
    document.write('<img src=\"'+titi+'\" height=\"100\"><br>');
    document.write(c_Job+'<br><br>');
    document.write("Phone :"+c_Phone+"<br>");
    document.write("Mobile :"+c_Mobile+"<br>");
    document.write("E-Mail :"+c_Mail+"<br>");
    }
          </script>
    et si je fais un code unique, il ne marche plus si l'utilisateur ne rentre pas de photo : peut-on m'aider ?

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour,

    Que renvoie showID() dans le premier cas et dans le second cas ?
    Pq avoir un else; ?

  3. #3
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Voilà showID(), identique dans les 2 cas :
    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
    function getID(){
    var sExt ="";
    var mExt = -1;
    var sAttachmentName;
    // Get the file name from the list
    var iExt = h_AttachmentNames.toLowerCase().indexOf(".jpg");
    if (iExt > mExt) {mExt = iExt; sExt = ".jpg";}
    var iExt = h_AttachmentNames.toLowerCase().indexOf(".gif");
    if (iExt > mExt) {mExt = iExt; sExt = ".gif";}
    var iExt = h_AttachmentNames.toLowerCase().indexOf(".jpeg");
    if (iExt > mExt) {mExt = iExt; sExt = ".jpeg";}
    if (mExt == -1)
    {
    // There is no file here
    sAttachmentName = "";
    }
    else
    {
    sAttachmentName = h_AttachmentNames.substring(0,mExt);
    // Remove string begining
    var iStart = sAttachmentName.lastIndexOf('"');
    // alert(sAttachmentName);
    if ( iStart != -1)
    sAttachmentName = sAttachmentName.substring(iStart+1);
    }
    return sAttachmentName+sExt; }
    //
    //
    //
    function showID(){
    var sID = getID();
    var sFileName_Raw = docUrl() + "/%24FILE/" + sID // + "?OpenElement";
    var re = new RegExp(" ","gi");
    var sFileName = sFileName_Raw.replace(re,"%20");
     
    return sFileName;
    }
    //
    et le "else;", c'était une tentative désespérée, mais évidemment, ça ne change rien.

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Vous mettez "" dans toto si la personne n'a pas mis de photo au format .jpg, .gif ou .jpeg. Donc si vous remplacez toto par titi, la src de <img> est incomplète, il manque le nom du document après /%24FILE/.

  5. #5
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sFileName.length==0
    //et
    if (sFileName.length>0) toto=sFileName;
    sFileName contiendra au minimum /%24FILE/ et aura donc tjs une taille supérieur à zéro.

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Je reprends la chronologie car je me perds:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //1) On récupère l'url ou bien vide.
    var sFileName=showID();
     
    //2) On récupère à nouveau l'url ou bien vide (ou une valeur null ou une crasse).
    var titi=sesainfoauthor[ind-1].urlphoto;
     
    //3) Si il n'y a pas d'url (mais attention, la seconde partie du if est tjs fausse), on crée une url. (donc on en crée jamais d'url car sFileName contient tjs qqch).
    if ((sesainfoauthor[ind-1].urlphoto.length==0)&&(sFileName.length==0)) sesainfoauthor[ind-1].urlphoto="http:\/\/directory.schneider-electric.com\/Global\/Corp\/IntDirPhotos.nsf\/PhotosByGUID\/SESA0000\/$File\/sesa0000.jpg";
     
    //4) Si il y a une url on redonne l'url déjà donnée (à titi normalement)
    if (sFileName.length>0) toto=sFileName;
    Je ne comprends pas bien. Et je mettrais les if avant d'assigner les urls au variables titi et sFileName.

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Merci infiniment ; je n'avais pas du tout pensé à ça et du coup, si l'utilisateur ne rentre pas de photo, je force sFileName à "", et ça marche...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/02/2014, 12h36
  2. Obtenir un emploi du temps en une seule requête, possible ou pas ?
    Par clavier12AZQSWX dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/12/2012, 18h13
  3. Réponses: 4
    Dernier message: 21/08/2007, 20h37
  4. 2 evenements sur un seul onclick..possible ou pas
    Par michka999 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/08/2006, 16h01
  5. Modifier le code après la compilation, c'est possible?
    Par marcus333 dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 09h52

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