2017-09-26 8 views
0

ユーザーがフォームを送信したときにサーバー上に.txtファイルを作成しようとしています。ただし、コメントテキストエリアの改行は、結果の.txtファイルには反映されません。JavaScriptがjavascript textareaから改行を書き込まない

ここに私のコードです:

Javascriptを

function sendInfo(){ 
var name = document.getElementById("scenarioName").value; 
var author = document.getElementById("author").value; 
var email = document.getElementById("email").value; 
var comments = document.getElementById("comments").value; 

var urlString = "get_info.php?name="+name+"&author="+author+"&email="+email+"&comments="+comments;  

if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (this.readyState==4 && this.status==200) 
    { 
    document.getElementById("successParagraph").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET",urlString,true); 
xmlhttp.send();} 

はPHP

$content = $_GET['name']."\r\n".$_GET['author']."\r\n".$_GET['email']."\r\n".$_GET['comments']; 
if(isset($_GET['name'])){ 
    $fp = fopen("files/".$_GET['name'].".txt","wb"); 
    fwrite($fp,$content); 
    fclose($fp); 
} 

ので、コメントはした場合:

"fooの

バー"

は、次にテキストファイルでは、これは「foobarに」

+0

このような情報は取得しないでください。投稿を使用して動作します –

+0

javascriptをxmlhttp.open( "POST"、urlString、true)に変更し、PHP $ _GETを$ _REQUESTに変更しましたが、変更されませんでした。それはあなたが意味することですか? –

答えて

0

右を読んで、単一の行になり、私はなぜか知りませんが、私はこれに対する解決策を働いてきました。 問題は、PHPファイルがコンテンツを書き込んでいたようですが、改行を無視するようです。 私は改行文字でコメントを分割し、各行をファイルに書き込むためにforeachループを使用しました。そう:

$content = $_POST['name']."\r\n".$_POST['author']."\r\n".$_POST['email']."\r\n"; 

$comments = split("\n",$_POST['comments']); 

if(isset($_POST['name'])){ 
$fp = fopen("fine-uploader/files/".$_POST['name'].".txt","wb"); 
fwrite($fp,$content); 
foreach($comments as $c){ 
    fwrite($fp,$c); 
    fwrite($fp,"\r\n"); 
} 
fclose($fp); 
} 
関連する問題