Bonjour,
Je re-modifie une n-ième fois le post car je viens de comprendre ce qui n'allait pas. J'essais d'envoyer le contenu d'un textarea à php en utilisant javascript mais il ne prend pas en compte les retours à la ligne..
Comment faire?
 Retours à la ligne dans une variable
 Retours à la ligne dans une variable
				
				
						
							
							
						
						
				Bonjour,
Je re-modifie une n-ième fois le post car je viens de comprendre ce qui n'allait pas. J'essais d'envoyer le contenu d'un textarea à php en utilisant javascript mais il ne prend pas en compte les retours à la ligne..
Comment faire?

 
 
				
				
						
						
				Bonjour,
- nl2br() ?
Mais bon... Sans code...
 
 
				
				
						
						
				Bonjour,
je vous remercie à la base j'avais posté tout mon code mais bon finalement ca m'a semblé inutile
en fait j'ai finalement réussi mais j'ai perdu les sources, dès que je les retrouve je poste le code qui ne fonctionnait pas et celui qui fonctionne pour essayer de comprendre la différence.
En vous remerciant.
 
 
				
				
						
						
				Voici les sources promises :
avec le fichier ajax.php ca ne fonctionne pas, quand javascript envois la variable à php il n'y a pas de retour à la ligne,
mais avec var.php les retours à la ligne sont bien sauvegardés... Comment cela se fait-il?
var.php
ajax.php
PS: ne faites pas attention à inner.HTML c'est juste pour du testing

 
 
				
				
						
						
				Merci de copier-coller les codes dans le contenu du message.
+ utiliser les balises [ CODE ] (icone "#" du menu)
 
 
				
				
						
						
				code non fonctionnel
Code fonctionnel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69<!DOCTYPE html/> <html> <head> <title>Editeur de texte en ligne</title> <script> function writeToDB(champ, str) { var champ; var str; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (xhttp.readyState == 4 && xhttp.status == 200) { //document.getElementById("demo").innerHTML = xhttp.responseText; } }; if(champ == 'titre'){ xhttp.open("GET", "test.php?titre=" + str, true); xhttp.send(); }else { xhttp.open("GET", "test.php?corps=" + str, true); xhttp.send(); } } </script> </head> <body> <input type="text" onkeyup="writeToDB('titre', this.value)" id="titre"> </input> </br> <textarea onkeyup="writeToDB('corps', this.value)" id="corps" style="width: 100%; height: 900px;"> </textarea> <script> // Fonctions de rafraichissement de la page function get_title(){ setInterval( function(){ var yhttp = new XMLHttpRequest(); yhttp.onreadystatechange = function() { if (yhttp.readyState == 4 && yhttp.status == 200) { document.getElementById("titre").value = yhttp.responseText; } }; yhttp.open("GET", "testlecture.php", true); yhttp.send(); }, 3000); } //////////////////////////////////////////////////// function get_corps(){ setInterval( function(){ var zhttp = new XMLHttpRequest(); zhttp.onreadystatechange = function() { if (zhttp.readyState == 4 && zhttp.status == 200) { document.getElementById("corps").value = zhttp.responseText; } }; zhttp.open("GET", "testcorps.php", true); zhttp.send(); }, 3000); }////////////////////////////////////////////////////////////// get_title(); get_corps(); </script> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23<!DOCTYPE html/> <html> <head> <title>test</title> <script>var test = "a bientot" function envoi(){ var str = document.getElementById("monchamp").value; var xhttp = new XMLHttpRequest(); xhttp.open("POST", "vartraitement.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send("text="+str); } </script> </head> <body> <form action="vartraitement.php" method="GET"> <textarea id="monchamp" name="text"></textarea> <input type="button" onclick="envoi()"></input> </form> </body> </html>

 
 
				
				
						
						
				1/ C'est ce que j'avais suggéré : nl2br().
soit tu ne lis pas les réponses, sois tu ne suis pas les liens qu'on te donne...
2/ il faut encoder les URL :
Code JS : Sélectionner tout - Visualiser dans une fenêtre à part xhttp.open("GET", "testget.php?corps=" + encodeURI(str), true);
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part 
2
 
 
				
				
						
						
				je te remercie mais je ne l'ai justement pas utilisé, ce qui est d'autant plus étrange, je vais ressortir les sources complète et les poster dès que je peux..
 
 
				
				
						
						
				Donc voilà la méthode 1 dont je me plain :
la page html avec le code AJAX
La page php qui va insérer les données
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56<!DOCTYPE html/> <html> <head> <title>Editeur de texte en ligne</title> <script> function writeToDB(champ, str) { var xhttp = new XMLHttpRequest(); if(champ == 'titre'){ xhttp.open("GET", "test.php?titre=" + str, true); xhttp.send(); }else { xhttp.open("GET", "test.php?corps=" + str, true); xhttp.send(); } } </script> </head> <body> <form action="javascript:void(0);" method="get"> <input type="text" onkeyup="writeToDB('titre', this.value)" id="titre" /></br> <textarea onkeyup="writeToDB('corps', this.value)" id="corps" style="width: 100%; height: 400px;"></textarea> </form> <script> function get_title(){ setInterval( function(){ var yhttp = new XMLHttpRequest(); yhttp.onreadystatechange = function() { if (yhttp.readyState == 4 && yhttp.status == 200) { document.getElementById("titre").value = yhttp.responseText; } }; yhttp.open("GET", "requesttitle.php", true); yhttp.send(); }, 3000); } function get_corps(){ setInterval( function(){ var zhttp = new XMLHttpRequest(); zhttp.onreadystatechange = function() { if (zhttp.readyState == 4 && zhttp.status == 200) { document.getElementById("corps").value = zhttp.responseText; } }; zhttp.open("GET", "requestarticle.php", true); zhttp.send(); }, 3000); } get_title(); get_corps(); </script> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
 
 
				
				
						
						
				Et la méthode 2 qui ne devrait normalement pas fonctionner mais qui fonctionne.
La page qui envois les données au php
la page php qui est appellée appelle une bibliothèque de fonctions
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22<!DOCTYPE html/> <html> <head> <title>test</title> <script> function envoi(){ var str = document.getElementById("monchamp").value; var xhttp = new XMLHttpRequest(); xhttp.open("POST", "vartraitement.php", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send("text="+str); } </script> </head> <body> <form action="vartraitement.php" method="GET"> <textarea id="monchamp" name="text"></textarea> <input type="button" onclick="envoi()"></input> </form> </body> </html>
et voici la bibliothèque (librairie chez les franglish) appellée
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4<?php require'bibli.php'; $text = $_POST['text']; set_text('titre', $text);
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
 
				
				
						
						
				cette ligne je l'ai copié collée j'avais pas fait attention que j'encodais l'url:
par contre je ne décode l'URL nul part en php... c'est normal que ca ne me pose pas de problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 
 
				
				
						
						
							
						
				php le fait pour toi
tu récupère les données dans _POST ou _GET
Partager