Почему атрибут onclick не работает?

0

Я пытаюсь сделать функцию на PHP, подобную команде JavaScript alert(), но атрибут onclick OK не работает!

Вот мой код:

<!DOCTYPE html>
<?php
    function alert($title, $text) {
        $html = '<div id="alert" style="background-color:lightGray; text-align:center; height:500px; width:500px; color: black; position:fixed; top: 50%; left:50%; margin-left:-250px; margin-top:-250px;">';
        $html = $html . '<h1 style="background-color:red; border-radius: 15px;">'. $title . '</h1>' . $text;
        $html = $html . '<br><br><button type="button" style="border-radius:25px; height:50px; width:100px; background-color:white; border:none;" onclick="document.getElementById(\"alert\").style.display=none">OK</button>';
        echo $html;
    }
    alert('Testing', 'Testing <em>testing</em><b>123</b>');
?>

Что не так? Я получаю "поле оповещения", но кнопка "ОК" не работает!

  • 0
    если вы повторяете это несколько раз, у вас будет несколько div с одним и тем же идентификатором, и только document.getElementById() вернет только первый найденный идентификатор.
  • 0
    Это несоответствие цитаты в селекторе идентификаторов!
Показать ещё 1 комментарий
Теги:

2 ответа

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

element.style.display = 'none' вместо просто none

ps просто хочет быть в стороне от концепции javascript

  • 0
    ' даст конфликт с существующим разделителем строк. Вы должны избежать этого хотя бы один раз.
  • 0
    Извините, я был глуп и забыл "процитировать это".
Показать ещё 1 комментарий
1

Изменить на:

document.getElementById(\"alert\").style.display=\"none\"

Я думаю, это также показывает, что ваш нынешний подход довольно ужасен. Необходимость добавления всех этих побегов без выделения кода раздражает.

Посмотрите, можете ли вы найти способ сделать это правильно;) (подсказка: вы можете).

Ещё вопросы

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