繁体   English   中英

JavaScript onMouseOver事件失败

[英]Failing JavaScript onMouseOver event

我想在PHP文件中显示onmouseover警报,但它失败了。 请帮我。

<?php
    $a = '<a href=# onMouseover=alert(';
    $a .= 'Für die Mitnahme von Sportgepäck &#40;Scuba/Diving/Golf Equipment&#41; bis'.
' 15 KG ist es empfehlenswert dieses vorab zu buchen, da sonst am Check-In '.
'Schalter die normalen Übergewichtsraten pro KG berechnet werden &#40;'.
'unabhängig von Ihrer Gepäckauswahl – die Auswahl des aufzugebenden Gepäcks '.
'beinhaltet nicht das Sportgepäck&#41';
    $a .= ')>LINK DESCRIPTION</a>';
    echo $a;
?>
<?php
    $a = '<a href=# onmouseover=alert("';
    $a .= 'Für die Mitnahme von Sportgepäck &#40;Scuba/Diving/Golf Equipment&#41; bis 15 KG ist es empfehlenswert dieses vorab zu buchen, da sonst am Check-In Schalter die normalen Übergewichtsraten pro KG berechnet werden &#40;unabhängig von Ihrer Gepäckauswahl – die Auswahl des aufzugebenden Gepäcks beinhaltet nicht das Sportgepäck&#41';
    $a .= '")>LINK DESCRIPTION</a>';
    echo $a;
?>

这里不需要PHP。 只写HTML:

<a href="#" onmouseover="alert('looong string...')">LINK DESCRIPTION</a>

它更容易阅读和调试。

但解释为什么你的代码不起作用:你搞乱报价。

这是您真正想要的HTML:

<a href="#" onmouseover="alert('my text');">LINK DESCRIPTION</a>

请注意每个属性值周围的引号和警报文本周围的单引号。 要在PHP中获得此功能,您可以通过转义引号来实现:

$a='<a href="#" onmouseover="alert(\'';
$a.='Für die [...] Sportgepäck&#41';
$a.= '\')">LINK DESCRIPTION</a>';

alert转义字符串,如下所示:

<?php

    $a = '<a href=# onMouseover=alert(';
    $a .= '\'Für die Mitnahme von Sportgepäck &#40;Scuba/Diving/Golf Equipment&#41; bis 15 KG ist es empfehlenswert dieses vorab zu buchen, da sonst am Check-In Schalter die normalen Übergewichtsraten pro KG berechnet werden &#40;unabhängig von Ihrer Gepäckauswahl – die Auswahl des aufzugebenden Gepäcks beinhaltet nicht das Sportgepäck&#41\'';
    $a .= ')>LINK DESCRIPTION</a>';
    echo $a;
?>
<?php $a='Für die Mitnahme von Sportgepäck &#40;Scuba/Diving/Golf Equipment&#41; bis 15 KG ist es empfehlenswert dieses vorab zu buchen, da sonst am Check-In Schalter die normalen Übergewichtsraten pro KG berechnet werden &#40;unabhängig von Ihrer Gepäckauswahl – die Auswahl des aufzugebenden Gepäcks beinhaltet nicht das Sportgepäck&#41';
echo '<a href=\"#\" onmouseover=\"alert(\"'.$a.'\")\">LINK DESCRIPTION</a>';

就这么简单......

不是在PHP中打印HTML代码,而是转义PHP块:

<?php
// some PHP code and exit PHP block
?>

<a href="#" onmouseover="alert('Für die Mitnahme.....')">LINK DESCRIPTION</a>

<?php
// enter PHP block again
?>

然而问题是在alert功能中缺少撇号。

是:

alert(some text)

应该:

alert('some text')

如果您错过撇号,JavaScript会将您的文本视为变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM