我试图通过PHP回复以下HTML行
echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass('$id', '$formattedDate', '$time')'></a><p class='text-center'>".$formattedDate." @ $time</p>";
我没有收到错误。但是onClick =&#39; cancelClass的引号...没有被正确解析,这导致javascript函数没有执行。
答案 0 :(得分:2)
将其更改为以下
PrintService _service = PrintServiceLookup.lookupDefaultPrintService();
if (service != null)
{
String printServiceName = _service.getName();
System.out.println("Printer Service Name is " + printServiceName);
}
else
{
System.out.println("No printer service found");
}
转义属性双引号你可以有一个规范化的html
答案 1 :(得分:1)
您需要执行以下操作:
echo "<a class='fa fa-ban fa-2x cancelClass' onClick=\"cancelClass('".$id."', '".$formattedDate."', '".$time."')\"></a><p class='text-center'>".$formattedDate." @ $time</p>";
答案 2 :(得分:1)
他们做正确解析,但是你指定了错误的用法。 Javascript无法区分引号以包装您的字符串变量和引号以包装&#34; onclick&#34;价值,它认为onclick过早结束。
为了区分它们,你必须逃避它们。使用\"
表示括号内的内容。
echo "<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass(\"$id\", \"$formattedDate\", \"$time\")'></a><p class='text-center'>".$formattedDate." @ $time</p>";
应该这样做。
或者,不要对整个字符串使用echo,只需直接输出大部分字符串:
?> //temporarily stop interpreting the file as PHP, so the next bit will be output directly as raw HTML
<a class='fa fa-ban fa-2x cancelClass' onClick='cancelClass("<?php echo $id;?>", "<?php echo $formattedDate; ?>", "<?php echo $time;?>")'></a><p class='text-center'>".$formattedDate." @ $time</p>
<?php //continue with PHP
答案 3 :(得分:0)
在HTML中使用双引号。 使用带有ENT_QUOTES的htmlspecialchars来转义具有双引号的值。
echo '<a class="fa fa-ban fa-2x cancelClass" onClick="'.htmlspecialchars("cancelClass('$id', '$formattedDate', '$time')", ENT_QUOTES).
'"></a><p class="text-center">'.$formattedDate." @ $time</p>";