Используя кавычки в коде php
У меня возникли некоторые проблемы с использованием JavaScript в PHP-код, я запутался в использовании двойных кавычек и одинарных кавычек.
echo '<a href="shop.php?buy=1" onclick="return confirm("Are you sure you want to delete?")">Delete</a>';
или как сделать приведенный выше код в php?
Спасибо
6 ответов
Используйте этот код
echo '<a href="shop.php?buy=1" onclick="return confirm(\'Are you sure you want to delete?\')">Delete</a>';
Вы должны избежать кавычек.
Изменить как следующее
echo "<a href=\"shop.php?buy=1\" onclick=\"return confirm('Are you sure you want to delete?')\">Delete</a>";
Вы должны избежать кавычек с htmlspecialchars
(для HTML):
echo '<a href="..." onclick="return confirm('
.htmlspecialchars('"Are you sure"') . '">Delete</a>';
(в качестве альтернативы вы могли бы просто написать "
;)
... но не делай этого. Используйте регистрацию события JS:
document.getElementById('a-id').addEventListener('click', function (e) {
if (!confirm("Are you sure...")) {
e.preventDefault();
}
});
Сделайте это в файле JS. Это требует, чтобы <a>
иметь идентификатор (вы также можете сделать это с множеством других селекторов, но идентификатор является самым простым).
Почему бы вам не поместить HTML вне тегов PHP? Например, вы можете сделать:
...
?>
<a href="shop.php?buy=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
<?php
...
Еще один способ отобразить HTML:
echo <<<HTML
<a href="shop.php?buy=1" onclick="return confirm('Are you sure you want to delete?')">Delete</a>
HTML
Ошибка в confirm("Are you sure you want to delete?")">
вам нужно избежать двойной кавычки.
Вам нужно вызвать функцию javascript, используя php echo
echo '<a href="..." onclick="fun()">href_link</a>';
... но вы должны использовать функцию JS
<html><head><script type="text/javascript">
function fun()
{
if(confirm('are you sure')) return TRUE;
else return FALSE;
}
</script>
</head>
<body></body>
</html>