В принципе, я хочу, чтобы мой спойлер оказался внутри эха, но не может заставить его работать из-за того, что кавычки меня смущают, ха.
echo "<input class='spoilerbutton' type='button' value='Register' onclick='this.value=this.value=='Register'?'Cancel':'Register';'><div class='spoiler'><div>woooohoo hide this text</div></div>";
Как вы видите в разделе "register"? "Cancel", есть кавычки, которые закрываются друг от друга.
Как я мог исправить это самым простым способом? Я слишком запутался, LOL.
Не помещайте HTML внутри строк PHP, если вы можете ему помочь. Выверните его наизнанку.
if (somecondition) {
?>
<input
class='spoilerbutton'
type='button'
value='Register'
onclick="this.value=this.value=='Register'?'Cancel':'Register';">
<div class='spoiler'>
<div>woooohoo hide this text</div>
</div>
<?php
} else {
}
В этом случае не ставьте JavaScript внутри атрибутов HTML, если вы можете ему помочь.
<input
class='spoilerbutton'
type='button'
value='Register'>
<script>
var input = document.querySelector('input.spoilerbutton')l
input.addEventListener('click', toggleValue);
function toggleValue(evt) {
this.value=this.value=='Register'?'Cancel':'Register';
}
</script>
Вы можете избежать кавычек таким образом
echo "<input class='spoilerbutton' type='button' value='Register' onclick='this.value=this.value==\"Register\"?\"Cancel\":\"Register\";'><div class='spoiler'><div>woooohoo hide this text</div></div>";
У вас также есть альтернатива heredoc.
echo <<<EOHTML <input class='spoilerbutton' type='button' value='Register' onclick='this.value=this.value=="Register"?"Cancel":"Register";'><div class="spoiler"><div>woooohoo hide this text</div></div> EOHTML;