Form submit losing textarea CR LF characters

I have a php script that is doing a form submit via javascript. I’m not sure if I should be posting this in the PHP or the Javascript section but I think this isn’t a PHP issue.

I have a textarea element and when I submit (via $_POST), I am losing all my CR LF characters. I’ve searched all morning and read about similar problems but everything I’ve tried doesn’t work.

I must be missing something really simple perhaps?

Here is my main script. I type in the following then I click the submit button:

1
2
3
4

The script here. PLEASE note I had to remove the first character in each line (the ‘<’ char) in order to get the code to display here: Fixed - TechnoBear

<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
	$("#idsave2").click(function() {
		document.forms[0].post_emailComments.value = document.getElementsByName("name_emailComments")[0].value;//textarea
		document.forms[0].submit();
	});
});
</script>
<form NAME="citwb2" ACTION="citwb_dispatcher.php" METHOD="post">
	input hidden type="text" name="post_emailComments" value="">
	textarea rows="6" name="name_emailComments" style="width:20%;"></textarea>
	br>
	button type="button" id="idsave2" >Submit</button>
</form>
</body>
</html>

and here is my PHP dispatcher script that is being called:

<?php
$emailComments = $_POST['post_emailComments'];
echo strlen($emailComments)."<br>";
echo $emailComments."<br>";
for ( $pos=0; $pos < strlen($emailComments); $pos ++ ) {
 $byte = substr($emailComments, $pos, 1);
 echo $byte."=".ord($byte)."<br>";
}
?>

When I click submit I see this (below) on the web page which clearly does not have any CR or LF characters:
4
1234
1=49
2=50
3=51
4=52

I just cannot figure out what I am missing?

When you post code in the forum, you need to format it. To do so you can either select all the code and click the </> button, or type 3 backticks ``` on a separate line both before and after the code block.

1 Like

There was information about posting code somewhere in the FAQ.

Ahh, here’s the thread.

1 Like

To see the actual contents of the $_POST variable I use the following

echo var_dump($_POST);

This will display what is actually being sent. It can sometimes surprise what is sent.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.