2010-06-30 2 views
0

J'ai créé deux fichiers simples en php.L'espace entre deux mots est perdu après l'affectation de la variable php à la variable javascript

premier fichier (c.-à-input.php):

  • Créé une forme ayant une zone de texte et un bouton Envoyer
  • J'ai une zone de texte, l'utilisateur ajoutera entrée dans cette zone de texte
  • Un bouton Envoyer , après avoir cliqué sur ce formulaire vous obtiendrez submit (utilisé la méthode post)

fichier deuxième (valider.php):

  • Le contenu posté est reçu ici.
  • Affectation de la zone de texte (de la variable $ _POST supergloble variable) à la variable javascript.
  • et afficher cette valeur javascript

Ce que je remarquai après avoir présenté ci-dessous le contenu dans le premier fichier

Entrée:

Hi this is test 
Hello world 

Après avoir affiché la valeur en utilisant javascript valeur que je reçois ci-dessous le contenu

Sortie:

Hi this is testHello world. 

le 'test' et les mots 'Hello' deviennent concaténer.

ci-dessous est mon code de process.php:

<script type="text/javascript"> 

    var display = <?php echo $_POST['textareaInput']; ?> 
    alert(display); 

    </script> 

Je voulais savoir si la cession de la variable php javascript variable est-ce pas?

Quelqu'un peut-il s'il vous plaît laissez-moi savoir, quelle est la cause de la cause ici?

Merci à l'avance

+0

J'espère que var display = a des guillemets quelque part, et que vous échappez à des guillemets dans $ _POST ['textareaInput'] –

Répondre

1

Vous essayez d'assigner une chaîne à une variable, vous devez le marquer comme une chaîne appropriée:

<script type="text/javascript"> 

var display = "<?php echo addslashes($_POST['textareaInput']); ?>"; 
alert(display); 

</script> 
0

Essayez ceci:

var display = "<?php echo addslashes($_POST['textareaInput']); ?>"; 
0

vous devez remplacer les sauts de ligne, voici ce que vous pouvez faire (en manipulant aussi les guillemets s'il y en a):

$input = preg_replace("/\r?\n/", "\\n", addslashes($_POST['textareaInput'])); 
Questions connexes