Page 1 sur 1

[R] Textbox avec editeur html, récupérer le contenu

Posté : sam. 14 sept. 2013 12:34
par Utilisateur 3309 supprimé
Bonjour,
je n'ai pas trouvé d'exemple de textbox avec des outils de mise en page (gras, italic, couleur de texte etc...) et possibilité de récupéré le tout en HTML dans une variable...

Dans un forum j'ai vu qu'une personne utilisait une page web dans sa GUI avec un editeur HTML du type tinymce, ckeditor.
Je suis donc parti dans cette voie.

Mon soucis: je ne sais pas comment récupérer le contenu de ce que j'ai écrit dans le <textarea>. j'aimerai avoir ce contenu dans une variable.

je met mon exemple en piece jointe car il contient l'editeur HTML redactorJS qui provient d'ici https://github.com/dybskiy/redactor-js

le code autoit:

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister ()

$oIE = _IECreateEmbedded ()
GUICreate("Embedded Web control Test", 720, 400, _
        (@DesktopWidth - 200) / 2, (@DesktopHeight - 580) / 2);, );_
        ;$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    $ie = GUICtrlCreateObj($oIE, 10,10, 700,300)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

_IENavigate($oie , @ScriptDir & "\editeur.html")

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd
Merci pour votre aide.

Re: [..] textbox avec editeur html, récupérer le contenu

Posté : sam. 14 sept. 2013 13:11
par Utilisateur 3309 supprimé
Voici une image pour montrer a quoi cela ressemble. Donc l'objectif serait d'avoir le code html de ce qui est écrit dans la page.
Image

Re: [..] textbox avec editeur html, récupérer le contenu

Posté : sam. 14 sept. 2013 13:37
par mikell

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <IE.au3>

$oIE = _IECreateEmbedded ()
GUICreate("Embedded Web control Test", 720, 400, -1, -1)
$ie = GUICtrlCreateObj($oIE, 10, 10, 700, 300)
$btn = GuiCtrlCreateButton("code", 30, 330, 50, 25)
GUISetState(@SW_SHOW)

_IENavigate($oie , "http://www.google.fr/")
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $btn
            Msgbox(0,"", _IEDocReadHTML($oIE) )
    EndSwitch
WEnd

Re: [..] textbox avec editeur html, récupérer le contenu

Posté : sam. 14 sept. 2013 13:46
par Utilisateur 3309 supprimé
Mais le _IEDocReadHTML récupère tout le contenu de la page HTML ? pas uniquement ce qui se trouve entre <textarea> et </textarea>

n'y at'il pas un moyen plus "ciblé" ?

Re: [..] textbox avec editeur html, récupérer le contenu

Posté : sam. 14 sept. 2013 14:35
par Utilisateur 3309 supprimé
j'ai trouvé ! 8)
tout d'abord il faut mettre une balise <form> dans editeur.html pour pouvoir ensuite utiliser _IEFormElementGetValue

Image

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister ()

$oIE = _IECreateEmbedded ()
GUICreate("Embedded Web control Test", 720, 400, _
        (@DesktopWidth - 200) / 2, (@DesktopHeight - 580) / 2);, );_
        ;$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    $ie = GUICtrlCreateObj($oIE, 10,10, 700,300)
$btn = GuiCtrlCreateButton("code", 30, 330, 50, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

_IENavigate($oie , @ScriptDir & "\editeur.html")

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        Case $btn
    Local $oForm = _IEFormGetObjByName($oIE, "Form")
    Local $oText = _IEFormElementGetObjByName($oForm, "content")
              MsgBox(0, "Form Element Value", _IEFormElementGetValue($oText))
    EndSwitch
WEnd
je joins l'ensemble du code pour les personnes qui pourraient être interessées.

Re: [R] Textbox avec editeur html, récupérer le contenu

Posté : sam. 14 sept. 2013 23:24
par Utilisateur 3309 supprimé
est-ce que je ne serait pas en train de reinventer la roue ?????

je viens de trouver cet UDF dans le forum:
http://autoitscript.fr/forum/viewtopic.php?f=6&t=6131