2015-04-23 49 views
1

我有,我想通過使用警報()來顯示一個消息
PHP的回聲與新線的警報消息「 n」不工作

$message = "No result found for the following info:Name: ".$FullName."IC: ".$ID." in database."; 
echo "<script>alert('".$message."'); window.history.back();</script>"; 

這是工作,但如果我添加一個新行'\ n' 到消息

$message = "No result found for the following info:\nName: ".$FullName."\nIC: ".$ID." in database."; 


它不會顯示出蹦出來的消息。問題是什麼?

+0

看看頁面的源代碼是什麼在這些線上HTML輸出?你有一個活的鏈接? –

+0

這可能會有所幫助: http://stackoverflow.com/questions/1841452/new-line-in-javascript-alert-box –

回答

3

編輯它不會更改爲換行符在PHP中,而不是JavaScript的:通過添加額外的反斜線

'No result found for the following info:\nName: '.$FullName.'\nIC: '.$ID.' in database.' 
^            ^  ^ ^ ^   ^

OR"\\n"

據豹,也是真相:使用'alert("' . $message . '")'

3

增加您的換行符另一個\反斜槓:

$message = "No result found for the following info:\\nName: ".$FullName."\\nIC: ".$ID." in database."; 

Output

1

\n等單引號中沒有解釋,只是在雙引號。

echo "<script>alert(\"" . $message . "\"); window.history.back();</script>"; 

OR

echo '<script>alert("' . $message . '"); window.history.back();</script>'; 
+0

這不會影響在'$ message' –

+1

@GeraldSchneider內容:當你倒下了一些東西,你應該確定它不是解決方案。在你低估之前你有沒有嘗試過?當然它是有效的,這就是JS如何解釋逃脫的字符,如'\ n,\ r,\ t'等。 – panther

+0

事實上,我確實嘗試過。如果您將其應用於'$ message'的定義,您的建議就會起作用,正如yergo在答案中所做的那樣。但這種方式'$ message'被口頭回應,包括破壞javascript代碼的換行符。 –

3

或者使用PHP_EOL

$msg = 'Hello' . PHP_EOL . 'Next line'; 
+0

不錯的和很好的答案 –