Слишком много кавычек - как бы я повторил это, не закрывая их

0

В принципе, я хочу, чтобы мой спойлер оказался внутри эха, но не может заставить его работать из-за того, что кавычки меня смущают, ха.

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.

  • 0
    @ICanHasCheezburger Я все еще могу распечатать его, не так ли? Моя проблема в том, что я не могу повторить это из-за '' '' мешающего друг другу.
  • 1
    для части регистра: echo "...... onclick = \" .... \ "";
Теги:

3 ответа

3
Лучший ответ

Не помещайте 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> 
  • 0
    Что если мне нужно, чтобы он был внутри оператора if / else?
  • 2
    @WoopWoopWoopWoop - затем поместите его в оператор if / else. (Обновил пример в ответе)
2

Вы можете избежать кавычек таким образом

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>";
1

У вас также есть альтернатива 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;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню