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 :

Ajout d'un texte a partir d'un champ de la table dans le html


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Ajout d'un texte a partir d'un champ de la table dans le html
    Bonjour,

    Je suis nouveau en HTML et JAvascript et j'ai besoin d'aide.

    En fait, j'ai un probleme avec cette erreur 'unterminated string literal'.

    Le programme m'extrait le contenu du champs DESCRIPTION d'une table et l'affiche, suite a clic sur une imag, dans une nouvelle page web.

    Le champs DESCRIPTION est un varchar2 (300) et il me semble que cest a cause de la longeur du champ parce qu'on mettant moins de texte ca marche bien.

    Voici le code:

    La fonction en javascript qui me permet d'afficher le contenu du champ DESCRIPTION:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function ouvrir(texte)
    {
    var haut = 1000; // hauteur de la fenêtre (en pixels)
    var larg = 1000; // largeur de la fenêtre (en pixels)
    var options = "toolbar=no,location=no,directories=no,status=no,"
    + "menubar=no,scrollbars=yes,resizable=yes,copyhistory=yes,"
    + "width=" + larg + ",height=" + haut;
    maFenetre=window.open("","",options);
    maFenetre.document.open();
    maFenetre.document.write(texte);
    maFenetre.document.close();
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <TR>
            <TD VALIGN="top" WIDTH="800" ALIGN="left">
              <A href='javascript:ouvrir("<%INC I1107_DESC_ENTT%>")'><IMG alt="Obtenir de l'aide sur le produit" src="../images/sigeom/I1000_aidePoint.gif" align=left border=0 width="26" height="20"></A>
            </TD>
            </TR>
    Le I1107_DESC_ENTT retourne le contenu du champ DESCRIPTION.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Moi j'aurais plutot dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <TR>
            <TD VALIGN="top" WIDTH="800" ALIGN="left">
              <A href='javascript:ouvrir(document.getElementById("DESCRIPTION").value'><IMG alt="Obtenir de l'aide sur le produit" src="../images/sigeom/I1000_aidePoint.gif" align=left border=0 width="26" height="20"></A>
            </TD>
            </TR>
    ce serais déjà moins "bricolo" si jamais ça marche (j'ai pas testé )

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    ca n'a rien changé .

  4. #4
    Invité
    Invité(e)
    Par défaut
    Désolé, j'ai pas trop d'idée
    As tu pensé a définir l'attribut size de DESCRIPTION pour qu'il corresponde a la longueur de ta chaine.
    Car en fait, je me suis un peu précipité, mais tu as déjà trouvé la réponse a ta question, a savoir que ta chaine de 300 est trop longue, c'est pour ça d'ailleurs qu'il indique l'erreur "chaine non correctement terminé" puisque lorsque le programme regarde a la fin de ta chaine, il y trouve un caractère, et non le caractère spécial de terminaison de chaine.

    Donc il me semble que le seul moyen est d'agrandir la zone qui dois recevoir cette chaine.

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Avec le firebug je trouve ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <TD VALIGN="top" WIDTH="800" ALIGN="left">
              <A href='javascript:ouvrir("Carte au 1/250 000, en couleur, du champ magnétique total résiduel extrait des données d'un levé géophysique aérien volé à une hauteur de 300 mètres et avec un espacement des lignes de vol de 800 mètres.")'><IMG alt="Obtenir de l'aide sur le produit" src="../images/sigeom/I1000_aidePoint.gif" align=left border=0 width="26" height="20"></A>
              </TD>
    Le texte est bon sauf qu'il ne l'affiche pas.

  6. #6
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Est ce que l'accent dans le texte présente une erreur?

    Si c'est le cas comment je peux la contourner?

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    J'ai trouvé le problème : C'est l'accent " ' "..

    Aviez vous une idée pour que contourne ce problème.

    Merci

  8. #8
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    \'

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Merci..

    Mais ca n'a rien chnagé

  10. #10
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    ?erreur?
    Qui pourra lire le texte qui ferme tout de suite?

  11. #11
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Matthieu2000 Voir le message
    ?erreur?
    Qui pourra lire le texte qui ferme tout de suite?

    voila ce que je veux afficher:

    Carte au 1/250 000, en couleur, du champ magnétique total résiduel extrait des données d'un levé géophysique aérien volé à une hauteur de 300 mètres et avec un espacement des lignes de vol de 800 mètres.

    En arrivant à l'accent (Carte au 1/250 000, en couleur, du champ magnétique total résiduel extrait des données d ) il s'arrete et me dit 'unterminated string literal'..

    le programme prend tt le texte sous des guillemets..Puis on aura ".....'...."

    j'ai essayé le back slash avant ' mais ca m'a rien parce que j'ai pas '....'....'

    Merci infiniment

  12. #12
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    regarde la couleur (rouge) de ton message , il s'arrete au second ' ...

  13. #13
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Oui t'as raison..

    J'ai fait des modifications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    <TR>
            <TD VALIGN="top" WIDTH="800" ALIGN="left">
              <A href="javascript:ouvrir('<%INC I1107_DESC_ENTT%>','<%INC I1107_CODE_ENTT%>')"><IMG alt="'aide" src="I1000_aidePoint.gif" align=left border=0 width="26" height="20"></A>
              </TD>
    </TR>
    <%INC I1107_DESC_ENTT%> : récupère le texte
    <%INC I1107_CODE_ENTT%> : récupère le code


    et j'ai une fonction qui permet d'afficher le texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function ouvrir(texte,code) 
    { 
    var haut = 1000; // hauteur de la fenêtre (en pixels) 
    var larg = 1000; // largeur de la fenêtre (en pixels) 
     
    addslashes (texte); 
     
    maFenetre=window.open("","",options); 
    maFenetre.document.open(); 
    maFenetre.document.write(texte); 
     
    maFenetre.document.close(); 
    }
    La focnction addslashes permet d'afficher les caractères spéciaux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    function addslashes(ch) { 
    ch = ch.replace(/\\/g,"\\\\") 
    ch = ch.replace(/\'/g,"\\'") 
    ch = ch.replace(/\"/g,"\\\"") 
    return ch 
    }
    Mais j'ai encore un probleme:

    la en pointant sur l'image, qui permet d'afficher le texte dans une fenetre, J'aurais javascript ouvrir('tout le texte avec les apostrophes ' et tout','RMA')

    et en cliquant dessus il me génère cette erreur : missing ) after argument list

  14. #14
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    trop tard!
    le code générer fait que tu as déjà l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A href="javascript:ouvrir(\"<%INC I1107_DESC_ENTT%>\",\"<%INC I1107_CODE_ENTT%>\")">
    ou ajouter la fonction coté serveur

  15. #15
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Matthieu2000 Voir le message
    trop tard!
    le code générer fait que tu as déjà l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A href="javascript:ouvrir(\"<%INC I1107_DESC_ENTT%>\",\"<%INC I1107_CODE_ENTT%>\")">
    ou ajouter la fonction coté serveur
    Merci de me répondre. Mais ca n'a pas résolu le probleme. De plus j'ai pas accès au serveur.

    Lorsque je fais ca j'obtien l'erreur Illegal Caharacter ouvrir(\

    Parce que il lit juste ce qui est entre les deux premiers guillemets, soit "javascript:ouvrir(\"

Discussions similaires

  1. [2008R2] Remplir une table à partir de certains champs des autres tables
    Par aounidevlop dans le forum Développement
    Réponses: 5
    Dernier message: 20/01/2015, 12h05
  2. Réponses: 14
    Dernier message: 10/10/2013, 06h39
  3. Réponses: 1
    Dernier message: 01/05/2010, 20h44
  4. Réponses: 7
    Dernier message: 21/06/2006, 14h03
  5. Réponses: 6
    Dernier message: 29/05/2006, 19h43

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