Récupérer les données d'un formulaire javascirpt

zebrei Messages postés 6 Date d'inscription jeudi 30 décembre 2004 Statut Membre Dernière intervention 30 décembre 2004 - 30 déc. 2004 à 13:49
zebrei Messages postés 6 Date d'inscription jeudi 30 décembre 2004 Statut Membre Dernière intervention 30 décembre 2004 - 30 déc. 2004 à 20:01
Bonjour,
j'ai téléchargé une source épatante sur ce site : http://www.javascriptfr.com/code.aspx?id=25847
rich text editor.

C'est chouette, c'est pratique, c'est petit, bref c'est ce que je cherchais...
mais le script gère le contenu du champ en javascript.
Or, j'ai besoin de transférer ces données en variable php ($texte par exemple), pour pouvoir remplir une base de donnée SQL, sachant que j'ai d'aures champs php dans la même page.

comment donc faire pour récupérer le contenu de ces variables.

j'ai une fonction qui les retrouve en javascript (celle postée par l'un de vous) :

----------------------------------------
function voir(rte){
var oRTE;
if (document.all) {
oRTE = frames[rte].document;
} else {
oRTE = document.getElementById(rte).contentWindow.document;
}
var htmlSrc = oRTE.body.innerHTML;
formulaire.action="index.php?valide=true";
formulaire.texte.value=htmlSrc;
formulaire.submit();
}
---------------------------------------

Je cherche donc à récupérer "formulaire.texte.value" ou "htmlSrc".
Je n'y parviens pas ! (je ne peux mélanger php et java:
<?$texte?>= formulaire.texte.value ne marche pas sous javascript.

de manière plus générale, comment je récupère les données d'un formulaire postée avec "formulaire.submit();" ?????

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 déc. 2004 à 14:26
salut,

avec $_POST[] tout simplement.
J'ai utilise cet editeur aussi, il gere un textarea en fait, ok? Ca reste un formulaire, que tu peux traiter avec php.
Moi je ne me servais de ce truc que pour agrementer le textarea, mais je traitais le formulaire entierement en php. Ca marche tres bien.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 déc. 2004 à 15:05
$text=$_POST['text'];

Il faut te dire que JS s'exécute coté plicent, et PHP coté serveur...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
zebrei Messages postés 6 Date d'inscription jeudi 30 décembre 2004 Statut Membre Dernière intervention 30 décembre 2004
30 déc. 2004 à 19:24
Merci, je ne m'attendais pas à des réponse si rapides.

En fait, depuis, je suis allé chercher le script original sur http://www.kevinroth.com/rte/demo.htm, et le retour de donnée focntionne mieux, il me distribue directement la valeur du contenu de la page formaté dans le nom même de la iframe.
je ne sais pas comment, je pense qu'il duplique le champs dans un champs caché. Mais en fait, il perd son formatage dans l'opération, et je ne récupère que la valeur du texte... sans formatage. Aucun intérêt !

Je vais tester cette commande POST.

Mais c'est quand même même bizarre qu'on ne puisse pas récupérer facilement le contenu du champs.

Malalam, non, ce 'nest pas un textarea, ce serait trop simpe.
C'est un . Il faut donc aller chercher l'intérieur du HTML généré (ce que je ne sais pas faire, mais j'ai trouvé les fonctions qui le font).
Mais ensuite, je suis bien embêté pour transformé la valeur récupérée sous javascript en valeur php.
0
zebrei Messages postés 6 Date d'inscription jeudi 30 décembre 2004 Statut Membre Dernière intervention 30 décembre 2004
30 déc. 2004 à 20:01
En fait, c'était beaucoup plus bête que ça.
J'ai trouvé la solution dans les sources d'une version supérieure du produit.
(aplosRTE :
http://mike.aplosmedia.com/dev/AplosRTE/test_editor.php)

Le formatage HTMl est simplement oublié par le script, alors il faut le lui rappeler :

--------------------------------------
$text=$_POST['rte1'];
$text = rawurldecode(stripslashes($text));
echo "1: $rte1"; // ne donnera pas de HTML
echo "2: $text"; // donnera tout le formatage
---------------------------------------

Une journée de recherche ... content... ! :-)

Merci pour les explications reçue ici, qui m'ont permis d'accélerer les recherches
0
Rejoignez-nous