具有多行字符串的JS警报功能

时间:2014-02-24 13:35:24

标签: javascript alert

我有一个php函数,可以生成一个javascript警告弹出窗口。

此函数接受参数消息。 我的问题是,如果消息是一个多行字符串,javascript将不会提醒文本,因为每行都缺少“+”。我该如何解决?

function alert($msg) {
    echo '<script type="text/javascript">alert("'.$msg.'")</script>';
}

/* DOESN'T WORK */
  $msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttesttesttest.';
  alert($msg);

/* WORKS */
  $msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest. testtesttesttesttesttest. testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttestttesttesttesttesttesttest.';
  alert($msg);

2 个答案:

答案 0 :(得分:2)

问题是javascript中的多行字符串需要在每行末尾用\分割。

function alert($msg) {
    echo '<script type="text/javascript">alert("'.$msg.'")</script>';
}

$msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.\
      testtesttesttesttesttesttesttest.\
      testtesttesttesttesttesttesttesttesttest.';
alert($msg);

答案 1 :(得分:0)

请在通过功能参数
中使用json_encode功能 json_code函数是将链接分解为\n

<?php 
 function alert($msg) {
    echo '<script type="text/javascript">alert('.$msg.')</script>';
}

/* DOESN'T WORK */
  $msg = 'testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttest.
      testtesttesttesttesttesttesttesttesttest.';
  alert(json_encode($msg));
 ?>

这个镀铬 enter image description here