【问题标题】:Mixing javascript, jQuery and PHP, newline混合 javascript、jQuery 和 PHP、换行符
【发布时间】:2013-05-08 16:30:06
【问题描述】:

好的,我这里有几件事:

Javascript:

desc = "line 1 \n line 2"

jQuery:

$("#msg").text(desc);

PHP:

const NUM = 555;

我想要的是用msg 的id 更改<p> 的文本,以便它包含一段带有多行的文本,其中一个是PHP 中的数字常数。

像这样:

第 1 行
2 555 号线,2 号线续
3号线

我的问题是如何将它们混合在一起?我尝试了以下方法:

var desc = "line 1 \n line2" + <?php echo NUM ?> +"\n line 3"; 这不起作用。

【问题讨论】:

  • “那行不通。”什么不起作用?您收到错误消息还是顺序错误?
  • 改用<?php echo constant("NUM")?>
  • 预期输出是什么?我不明白line 1line 2line 3
  • 预期的输入只是 3 行文本,而在其中之一中我有存储在 PHP 常量中的数字。关于错误 - 我收到“意外令牌非法”。

标签: php javascript jquery newline


【解决方案1】:

您的代码有几个问题:

  • PHP 常量应该使用define("CONSTANT_NAME", "VALUE"); 语法定义;
  • \n 在 HTML 标记内无效(如果您不应用 white-space: pre;pre-wrap);
  • <?php echo NUM; ?> 应该用 " 包裹或者应该在 JavaScript 字符串中;
  • $("#msg").text(desc) 将删除desc 中的所有标签,因此您需要改用.html(desc)

你需要的是这样的:

PHP

define("NUM", 555);

JavaScript

var desc = "line 1<br/>line2 <?php echo NUM; ?><br/>line 3";
$("#msg").html(desc);

【讨论】:

  • +1 因为这看起来是对的,但问题根本不是很清楚......所以我不能说。
  • @frrlod 你明白它为什么有效吗?这比拥有有效的东西更重要。
  • @frrlod 我更新了答案,描述了你的代码出了什么问题。
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 2012-05-02
相关资源
最近更新 更多