php中嵌入的Javascript警报函数在解释客户端消息时出现问题
我试图在php代码中使用javascript警报函数在客户端显示消息php中嵌入的Javascript警报函数在解释客户端消息时出现问题,javascript,php,html,alert,Javascript,Php,Html,Alert,我试图在php代码中使用javascript警报函数在客户端显示消息 //Show concept detail public function showConceptDetail($concept){ $msg =""; switch ($concept) { case 'class': $msg = 'Hey, I am single line with spaces'; break; default:
//Show concept detail
public function showConceptDetail($concept){
$msg ="";
switch ($concept) {
case 'class':
$msg = 'Hey, I am single line with spaces';
break;
default:
break;
}
return "alert('".$msg."')";
}
public function showListConcept(){
$a= '$this->showConceptDetail()';
$list = <<<LIST
<ul>
<li><a href="#" onClick= {$this->showConceptDetail('class')} >Class </a></li>
<li><a href="#">Object </a></li>
<li><a href="#">Member Variable </a></li>
<li><a href="#">Member function</a></li>
<li><a href="#">Inheritance</a></li>
<li><a href="#">Parent class</a></li>
<li><a href="#">Child Class</a></li>
<li><a href="#">Polymorphism</a></li>
<li><a href="#">Overloading</a></li>
<li><a href="#">Data Abstraction</a></li>
<li><a href="#">Encapsulation</a></li>
<li><a href="#">Constructor</a></li>
<li><a href="#">Destructor</a></li>
</ul>
LIST;
echo "List of POO concepts: ".$list;
}
每次检查源时,我都会得到一个奇怪的输出:
<a href="#" onclick="alert('Class" −="" this="" is="" a="" programmer-defined="" data="" type,="" which="" includes="" local="" functions="" as="" well="" data.="" you="" can="" think="" of="" class="" template="" for="" making="" many="" instances="" the="" same="" kind="" (or="" class)="" object.')="">Class </a>
警报功能消息中的每个空格由“”交换;我不知道发生了什么。我复制并粘贴了它,然后运行了您提供的代码。没有问题。我注意到这里/现在的文档中没有引号。除此之外,似乎没有问题。一定还有别的问题。在处理输出时还发生了什么?您的代码或注释中是否有其他地方的输出消息 下面是名为index.php的完整示例文件,后面是命令行中的输出
<?php
class abc
{
//Show concept detail
public function showConceptDetail($concept){
$msg ="";
switch ($concept) {
case 'class':
$msg = 'Hey, I am single line with spaces';
break;
default:
break;
}
return "alert('".$msg."')";
}
public function showListConcept(){
$a= '$this->showConceptDetail()';
$list = <<<LIST
<ul>
<li><a href="#" onClick= {$this->showConceptDetail('class')} >Class </a></li>
<li><a href="#">Object </a></li>
<li><a href="#">Member Variable </a></li>
<li><a href="#">Member function</a></li>
<li><a href="#">Inheritance</a></li>
<li><a href="#">Parent class</a></li>
<li><a href="#">Child Class</a></li>
<li><a href="#">Polymorphism</a></li>
<li><a href="#">Overloading</a></li>
<li><a href="#">Data Abstraction</a></li>
<li><a href="#">Encapsulation</a></li>
<li><a href="#">Constructor</a></li>
<li><a href="#">Destructor</a></li>
</ul>
LIST;
echo "List of POO concepts: ".$list;
}
}
$abc = new abc();
$abc->showListConcept();
?>
sandbox>php index.php
List of POO concepts: <ul>
<li><a href="#" onClick= alert('Hey, I am single line with spaces') >Class </a></li>
<li><a href="#">Object </a></li>
<li><a href="#">Member Variable </a></li>
<li><a href="#">Member function</a></li>
<li><a href="#">Inheritance</a></li>
<li><a href="#">Parent class</a></li>
<li><a href="#">Child Class</a></li>
<li><a href="#">Polymorphism</a></li>
<li><a href="#">Overloading</a></li>
<li><a href="#">Data Abstraction</a></li>
<li><a href="#">Encapsulation</a></li>
<li><a href="#">Constructor</a></li>
<li><a href="#">Destructor</a></li>
</ul>
然后使用命令行
<?php
class abc
{
//Show concept detail
public function showConceptDetail($concept){
$msg ="";
switch ($concept) {
case 'class':
$msg = 'Hey, I am single line with spaces';
break;
default:
break;
}
return "alert('".$msg."')";
}
public function showListConcept(){
$a= '$this->showConceptDetail()';
$list = <<<LIST
<ul>
<li><a href="#" onClick= {$this->showConceptDetail('class')} >Class </a></li>
<li><a href="#">Object </a></li>
<li><a href="#">Member Variable </a></li>
<li><a href="#">Member function</a></li>
<li><a href="#">Inheritance</a></li>
<li><a href="#">Parent class</a></li>
<li><a href="#">Child Class</a></li>
<li><a href="#">Polymorphism</a></li>
<li><a href="#">Overloading</a></li>
<li><a href="#">Data Abstraction</a></li>
<li><a href="#">Encapsulation</a></li>
<li><a href="#">Constructor</a></li>
<li><a href="#">Destructor</a></li>
</ul>
LIST;
echo "List of POO concepts: ".$list;
}
}
$abc = new abc();
$abc->showListConcept();
?>
sandbox>php index.php
List of POO concepts: <ul>
<li><a href="#" onClick= alert('Hey, I am single line with spaces') >Class </a></li>
<li><a href="#">Object </a></li>
<li><a href="#">Member Variable </a></li>
<li><a href="#">Member function</a></li>
<li><a href="#">Inheritance</a></li>
<li><a href="#">Parent class</a></li>
<li><a href="#">Child Class</a></li>
<li><a href="#">Polymorphism</a></li>
<li><a href="#">Overloading</a></li>
<li><a href="#">Data Abstraction</a></li>
<li><a href="#">Encapsulation</a></li>
<li><a href="#">Constructor</a></li>
<li><a href="#">Destructor</a></li>
</ul>
sandbox>php index.php
《公安条例》概念清单:
仔细想想:
如果在警报周围加上引号会发生什么?如果没有引号,Html解析器会自动添加“”。
onClick=“{$this->showConceptDetail('class')}”