begin process at 2012 05 29 14:07:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Javascript + innerHTML : comment afficher les attributs situés dans une sous-chaîne ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Javascript + innerHTML : comment afficher les attributs situés dans une sous-chaîne ?

mardi 3 novembre 2009 à 17:35:24 | Javascript + innerHTML : comment afficher les attributs situés dans une sous-chaîne ?

sergeburki

J'essaye d'afficher via javascript une fenêtre avec du contenu issu d'une base de données.

Le contenu peut être une simple chaîne de caractères, mais aussi du texte riche, par exemple ceci :

<strong><span style="text-decoration: underline">Planification détaillé sera fournie vers mi-septembre</span></strong>. le chef de projet indique :
<ul>
<li>Décision <font style="BACKGROUND-COLOR: #ffff40"><font style="FONT-FAMILY: ; BACKGROUND-COLOR: #ff4040">prise de</font> prendre l'outil</font> Outlook.
<li>Charge développement sécurité : env. 20 JH
<li>Scope : <strong>contacts</strong>, R visite, outil profiling sociétés</li></ul>

Si j'affiche ce contenu avec un response.write asp, tout s'affiche très bien, y compris le gras, le souligné et le fond;

Mais parfois je désire afficher ceci sans passer par le serveur. J'ai donc sauvegardé le champ dans une variable javascript, que j'aimerai utiliser avec une fonction activée par un lien :

var newWindow = window.open("","newWin" + sId,"location,noscrollbars,resizable=yes,width=900,height=600");
newWindow.focus();
var newDoc=newWindow.document;
newDoc.title="Generated Window";
newDoc.bgColor="#FFFFFF";
newDoc.fgColor="#000000";
newDoc.body.innerHTML="<div id='looper' style='font-family: Arial;'> </div>";
var loopDiv =newDoc.getElementById("looper");
if (situationjava[sId] != "") {
alert(situationjava[sId]);
loopDiv.innerHTML="<u><b>" + dateraKey[sId] + "</b></u>:<br/><br/>" + situationjava[sId].replace(/\r\n/g,'<br>');
}

La variable contient tout (un alert le montre bien).

Les sauts de ligne sont OK. Mais la fenêtre ne traite pas les attributs contenus dans le champ (il n'affiche pas le souligné, ni les couleurs du texte, ni le fond du texte).

J'ai essayé de passer par DOM, ou document.write, mais c'est la même chose.

Pourquoi les attributs sont-ils oubliés en javascript et actifs en asp ?

Comment faire que le javascript affiche la même chose que l'asp/html ?

Est-ce que qqn a une idée ?? merci beaucoup
mercredi 4 novembre 2009 à 05:54:49 | Re : Javascript + innerHTML : comment afficher les attributs situés dans une sous-chaîne ?

Bul3

Membre Club
Bonjour,
asp crée du html, ce n'est pas lui qui affiche
>>La variable contient tout
quelle variable ?
>>J'ai essayé de passer par DOM, ou document.write,
>>mais c'est la même chose.
euh... et sur l'exemple ? c'est fait comment ?
dateraKey[sId] c'est ça ?
ça contient quoi ?
Cordialement [mon Site] [M'écrire] Bul
jeudi 5 novembre 2009 à 19:01:44 | Re : Javascript + innerHTML : comment afficher les attributs situés dans une sous-chaîne ?

sergeburki

Réponse acceptée !
Merci pour les questions car le fait de répondre et reproduireles 3 cas m'a fait trouvé la réponse. je la paratge avec vous :

Le tout se faite en 2 phases :

phase 1 :
l'asp va lire les données de la DB et affiche les 300 premiers caractères de la situation via un response.write.
Dans cette phase, tout s'affiche parfaitement bien.
En même temps, le programme asp stocke le contenu de la situation dans une variable javascript après avoir remplacé les <br> par les caractères correspondants.

Phase 2 : un clic sur un lien ouvre en javascript une fenêtre qui présente la date à laquelle la situation a été enregistrée (extraite aussi de la db via une table initialisée par l'asp) suivie de la situation.

Le code donnait :

Phase 1 : on stocke dans une tableau javascript :

response.write "<script>situationjava[" & iligne & "]='" & ssituationgeneralejava & "';</script>"

Mais si le texte situationgenerale comportait des guillemets, cela faisait planter l'asp. D'où une ligne juste avant avec :


ssituationgeneralejava = replace(replace(replace(ssituationgenerale,"'","`"),vbcrlf,"\r\n"),"""","""""")

qui doublait le guillemet pour le stocker proprement.

Phase 2 : le code mis dans le premier message.

C'était parfait pour l'affichage, mais pas dans le cas des guillemets des fonts, qui se faisaient doubler (et donc étaient ignorées) !

Et cela je l'ai vu seulement en copiant le contenu des variables dans le mail....

Le tout a été résolu en transformant les guillemets la 1ère fois en une chaîne quelconque mais qui ne devrait pas se trouver en français (j'ai pris üöä), puis en retransformant dans la procédure javascript d'affichage de la fenêtre.

situationjava[sId].replace(/\r\n/g,'<br>').replace(/üöä/g,"'") . les guillemnts sont devenus des apostrophes, mais c'est pas important ici.

Après cela, ça marche avec un innerHTML et un document.write mais pas avec un appendchild.

Encore merci de votre contribution; cela faisait 4 heures que je tournais en rond à chercher d'autres explications ou d'autres techniques !














Cette discussion est classée dans : javascript, afficher, innerhtml, sid, newdoc


Répondre à ce message

Sujets en rapport avec ce message

Détecter est afficher les coordonées de la page du navigateur ??? [ par supergrey ] Bon, déjà je précise qu'en javascript je suis un newbie. Je voudrais afficher dans la barre de titre du navigateur , la position de la fenetre du navi soucis Javascript : faire afficher une image à des coordonnées souhaitées après clic sur un bouton [ par zarzar ] bonjour j'ai dans ma page 2 champs X et Y + bouton dans un formulaire : X : <input type="text" na afficher un menu ou une image sur passage de la souris [ par Prototype51 ] Bonjour à tous, Je suis en train de créer mon premier site, conçu principalement en PHP. Jusqu'à présent j'ai réussi à tout faire grâce à PHP, je n'ai Afficher une Image d'un odinateur distant [ par aline_ediark ] Bonjour à tous,Voila j'ai un petit problème en javascript,Je voudrai afficher une image en javascript (et uniquement en javascript),Cependant cette im Fonction javascript afficher/cacher [ par worstangel ] Bug de Javascript ? InnerHTML [ par DuncanIdaho ] Bonjour; J'ai cherché un bon moment, sur Internet, en créant quelques fonctions...  Au final, je n'arrive pas à comprendre mon problème, ou en tout JavaScript : Utiliser InnerHTML pour changer le contenu d'une balise [ par jeanMOULIN54 ] Bonjour à tous, voilà j'ai utilisé un script trouvé sur le site http://www.journaldunet.com/developpeur/tutoriel/dht/040512-javascript-innerhtml-l comment afficher 10liens /pages avec javascript [ par ammouna24 ] Bonjour, J'ai une liste de 50 résultats et je l'affiche sur ma page web avec innerHtml de javascript mais ce que je veux faire c'est partager cette li Comment afficher une page HTML via javascript [ par sloyvy ] Pb de php dans une fonction Javascript [ par lerenard80 ] Voici ma page : function test(valeur) { var w = new ActiveXObject("WScript.Shell"); w.run ('"c:\\progra~1\\easyph~1.0\\www\\acl\\test.bat"


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales