OVH Cloud OVH Cloud

ID d'un objet

4 réponses
Avatar
denis
Bonjour,

Je coince sur la manière de récupérer l'id d'un objet dans une page...
j'explique

Dans la page, j'ai un champ TEXTAREA en mode DESIGNMODE=ON
Dans le TEXTAREA, je crée des DIV, chaque DIV est affecté d'un ID unique

Il faudrait que je puisse récupérer l'ID du DIV cliqué pour effectuer des
traitements dessus...

Comment dois-je m'y prendre...
Merci par avance de votre aide

4 réponses

Avatar
ASM
denis wrote:
Bonjour,

Je coince sur la manière de récupérer l'id d'un objet dans une page...
j'explique

Dans la page, j'ai un champ TEXTAREA en mode DESIGNMODE=ON


Je ne savais même pas que çà existait !
(personne jamais y me dit rien)

Dans le TEXTAREA, je crée des DIV, chaque DIV est affecté d'un ID unique


infos prises auprès de Google ...
http://www.ibilab.net/webdev/articles/Javascript/creer-editeur-texte-wysiwyg-bases-10.htm
on me dit que c'est une astuce pour faire du texteditor
et que ça s'appliquerait aux iframes
celà s'étendrait-il jusqu'aux textarea ??


Il faudrait que je puisse récupérer l'ID du DIV cliqué pour effectuer des
traitements dessus...

Comment dois-je m'y prendre...
Merci par avance de votre aide






--
Stephane Moriaux et son [moins] vieux Mac

Avatar
denis
Merci de la réponse..

Ma demande était vraiment très mal formulée.
Il s'agit en effet d'un Iframe et non d'un Textarea (l'erreur vient des
tests successifs)
Dans cet Iframe, je dessine des DIV avec certains attributs de styles, et
qui recevront par la suite du contenu.
Pour l'instant, la création, le positionnement et le dimensionnement des DIV
est ok.
Maintenant, je dois pouvoir modifier tout cela et attribuer à chaque DIV un
style et du contenu...
C'est bien là que ca coince, parceque je n'arrive pas à récupérer l'ID que
j'ai affecté aux DIV, lorsque je clique dessus.
En plus, je parie que c'est très simple..

En tout cas, merci


"ASM" a écrit dans le message de news:
42daa58a$0$1252$
denis wrote:
Bonjour,

Je coince sur la manière de récupérer l'id d'un objet dans une page...
j'explique

Dans la page, j'ai un champ TEXTAREA en mode DESIGNMODE=ON


Je ne savais même pas que çà existait !
(personne jamais y me dit rien)

Dans le TEXTAREA, je crée des DIV, chaque DIV est affecté d'un ID unique


infos prises auprès de Google ...
http://www.ibilab.net/webdev/articles/Javascript/creer-editeur-texte-wysiwyg-bases-10.htm
on me dit que c'est une astuce pour faire du texteditor
et que ça s'appliquerait aux iframes
celà s'étendrait-il jusqu'aux textarea ??


Il faudrait que je puisse récupérer l'ID du DIV cliqué pour effectuer des
traitements dessus...

Comment dois-je m'y prendre...
Merci par avance de votre aide






--
Stephane Moriaux et son [moins] vieux Mac



Avatar
ASM
denis wrote:
Merci de la réponse..

Ma demande était vraiment très mal formulée.
Il s'agit en effet d'un Iframe et non d'un Textarea (l'erreur vient des
tests successifs)


sur la page de demo (cf + bas) il y a bien un textarea
couplé à l'iframe ... (lequel interragit sur l'autre ?)

Dans cet Iframe, je dessine des DIV avec certains attributs de styles, et
qui recevront par la suite du contenu.


Bon, je ne sais comment tu dessines tes DIVs
mais ici :
http://www.ibilab.net/webdev/exemples/editeur-wysiwyg.htm
je vois que çà se fait tout seul (dès qu'on demande un alignement)

Pour l'instant, la création, le positionnement et le dimensionnement des DIV
est ok.


rien vu dans :
http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp
ni dans :
http://www.mozilla.org/editor/midas-spec.html
qui paraisse permettre de créer un *div* en tant que tel
ni d'y glisser un id pour le repérer

Sans doute un simple click dans un div créé par un alignement
permet de le "re-selectionner" ?

Maintenant, je dois pouvoir modifier tout cela et attribuer à chaque DIV un
style et du contenu...


Pareil, pas vu de execCommande pour du style (css)

C'est bien là que ca coince, parceque je n'arrive pas à récupérer l'ID que
j'ai affecté aux DIV,


donc, bien que je n'aie pas vu d'exexCommand pour les divs
ça existe qquepart ?

lorsque je clique dessus.
En plus, je parie que c'est très simple..


Moui ?

En tout cas, merci


Ben ... c'est plutôt à moi de dire merci ?

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
denis
Bonsoir

Ca y est, le problème est résolu, en regardant ici et là comment font les
"bons" :)
En fait, c'est moins simple qu'il n'y parait..
L'exemple signalé n'est qu'une simple écriture de code HTML balisé en DIV
(il me semble)..

Il fallait écrire une fonction que récupère le chemin DOM de l'objet et
analyser ce chemin :
Apparemment, il y a d'autres moyens plus élégant, mais comme c'est pour IE
uniquement et que je n'ai pas le temps...
je ferais avec :)

xpage est l'ID du Iframe

function select_div() {
//--- Focus sur l'Iframe
xpage.focus();
//--- Cas d'IE
if (document.all) {
sel = xpage.document.selection;
if (sel != null) {
rng = sel.createRange();
switch (sel.type) {
case "Text": case "None":
papa = rng.parentElement(); break;
case "Control":
papa = rng.item(0); break;
default:
papa = frames['xpage'].document.body;
}
var paNode = papa;
trail = papa.tagName + '>' +sel.type;
while (paNode.tagName != 'BODY') {
paNode = paNode.parentNode;
trail = paNode.tagName + '>' + trail;
}
}
sel = rng.text;
xid_div=papa.id;
//--- Mozilla
} else {
sel = xpage.getSelection();
if (sel != null) rng = sel.getRangeAt(sel.rangeCount - 1).cloneRange();
}
return xid_div;
}


"ASM" a écrit dans le message de news:
42dae0a8$0$926$
denis wrote:
Merci de la réponse..

Ma demande était vraiment très mal formulée.
Il s'agit en effet d'un Iframe et non d'un Textarea (l'erreur vient des
tests successifs)


sur la page de demo (cf + bas) il y a bien un textarea
couplé à l'iframe ... (lequel interragit sur l'autre ?)

Dans cet Iframe, je dessine des DIV avec certains attributs de styles, et
qui recevront par la suite du contenu.


Bon, je ne sais comment tu dessines tes DIVs
mais ici :
http://www.ibilab.net/webdev/exemples/editeur-wysiwyg.htm
je vois que çà se fait tout seul (dès qu'on demande un alignement)

Pour l'instant, la création, le positionnement et le dimensionnement des
DIV est ok.


rien vu dans :
http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp
ni dans :
http://www.mozilla.org/editor/midas-spec.html
qui paraisse permettre de créer un *div* en tant que tel
ni d'y glisser un id pour le repérer

Sans doute un simple click dans un div créé par un alignement
permet de le "re-selectionner" ?

Maintenant, je dois pouvoir modifier tout cela et attribuer à chaque DIV
un style et du contenu...


Pareil, pas vu de execCommande pour du style (css)

C'est bien là que ca coince, parceque je n'arrive pas à récupérer l'ID
que j'ai affecté aux DIV,


donc, bien que je n'aie pas vu d'exexCommand pour les divs
ça existe qquepart ?

lorsque je clique dessus.
En plus, je parie que c'est très simple..


Moui ?

En tout cas, merci


Ben ... c'est plutôt à moi de dire merci ?

--
Stephane Moriaux et son [moins] vieux Mac