php обработка нажатия кнопки
есть скрипт который создает таблицу, почему не выводит окно alert("aa") после нажатия кнопки Добавить комнтарий
<?php
if ((isset($_POST['date_from'])) and (isset($_POST['date_to']))) {
$date_from = $_POST['date_from'];
$date_to = $_POST['date_to'];
if (($date_from == '') or ($date_to == ''))
echo "Заполните все поля";
else{
// Данные для отправки
$request = array(
"Date1"=>$date_from,
"Date2"=>$date_to,
"action"=>"dateMonitoring"
);
// Указание опций для контекста потока
$options = array (
'http' => array (
'method' => 'POST',
'header' => "Content-Type: application/json; charset=utf-8\r\n",
'content' => json_encode($request)
)
);
// Создание контекста потока
$context = stream_context_create($options);
// Отправка данных и получение результата
$connect = file_get_contents('http://192.168.250.62:8645', 0, $context);
$json = json_decode($connect, true);
echo '<table border="1">';
echo '<thead><tr>
<td rowspan="3">Описание</td> <td rowspan="3">Адрес</td> <td rowspan="3">ID устройства</td> <td rowspan="3">Кол-во событий</td> <td colspan="6">Успешных событий</td> <td colspan="2" rowspan = "2">Кол-во неуспешных событий</td> <td rowspan="3">Комментарий</td>
</tr>
<tr>
<td colspan="2">Первичных</td> <td colspan="2">Повторных</td> <td colspan="2">Всего</td>
</tr>
<tr>
<td>Кол-во</td><td>%</td> <td>Кол-во</td><td>%</td> <td>Кол-во</td><td>%</td> <td>Кол-во</td><td>%</td>
</tr></thead>
<tbody>';
$i = 1;
foreach ($json as $key => $value) {
if (strpos($key, 'Data') !== false){
echo '<tr>
<td>'.$i.'</td> <td></td>
<td>'.str_replace("smd/", "",$value["id"]).'</td>
<td>'.$value["all_events"].'</td>
<td>'.$value["successfully"].'</td>
<td>'.round((int)$value["successfully"]/(int)$value["all_events"]*100,2).'</td>
<td>'.$value["repeated"].'</td> <td>'.round((int)$value["repeated"]/(int)$value["all_events"]*100,2).'</td>
<td>'.((int)$value["successfully"]+(int)$value["repeated"]).'</td>
<td>'.round(((int)$value["successfully"]+(int)$value["repeated"])/(int)$value["all_events"]*100,2).'</td>
<td>'.((int)$value["all_events"]-(int)$value["successfully"]-(int)$value["repeated"]).'</td>
<td>'.round(((int)$value["all_events"]-(int)$value["successfully"]-(int)$value["repeated"])/(int)$value["all_events"]*100,2).'</td>
<td>asdasdads<br><input type="button" name="'.str_replace("smd/", "",$value["id"]).'" id="comment" value="Добавить коментарий"></td>
</tr>';
}
else
echo 'false';
$i+=1;
}
echo '</tbody>';
echo '</table>
<script>
let send = document.getElementById("comment");
//подписаться на событие click по кнопке и назначить обработчик, который будет выполнять действия, указанные в безымянной функции
send.addEventListener("click", function(){
alert("aa");})
</script>';
}
}
?>
html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>мониторинг</title>
</head>
<body>
<div>
<div>
<table>
<tr>
<th colspan=2><label for="date_from">От: </label><input type="date" id="date_from" value=""></th>
<th colspan=2><label for="date_to">До: </label><input type="date" id="date_to" value=""></th>
<th><button class="btn btn-primary" id="send">Отчет</button></th>
</table>
<div id = "welcome">sas</div>
<script>
//после загрузки DOM-дерева страницы
document.addEventListener("DOMContentLoaded",function() {
//получить кнопку
let send = document.getElementById('send');
//подписаться на событие click по кнопке и назначить обработчик, который будет выполнять действия, указанные в безымянной функции
send.addEventListener("click", function(){
//1. Сбор данных, необходимых для выполнения запроса на сервере
let date_from = document.getElementById('date_from').value;
let date_to = document.getElementById('date_to').value;
//Подготовка данных для отправки на сервер
//т.е. кодирование с помощью метода encodeURIComponent
date_from = 'date_from=' + encodeURIComponent(date_from)+ '&date_to=' + encodeURIComponent(date_to);
// 2. Создание переменной request
let request = new XMLHttpRequest();
// 3. Настройка запроса
request.open('POST','xz.php',true);
// 4. Подписка на событие onreadystatechange и обработка его с помощью анонимной функции
request.addEventListener('readystatechange', function() {
//если запрос пришёл и статус запроса 200 (OK)
if ((request.readyState==4) && (request.status==200)) {
// например, выведем объект XHR в консоль браузера
console.log(request);
// и ответ (текст), пришедший с сервера в окне alert
console.log(request.responseText);
// получить элемент c id = welcome
let welcome = document.getElementById('welcome');
// заменить содержимое элемента ответом, пришедшим с сервера
welcome.innerHTML = request.responseText;
}
});
// Устанавливаем заголовок Content-Type(обязательно для метода POST). Он предназначен для указания кодировки, с помощью которой зашифрован запрос. Это необходимо для того, чтобы сервер знал как его раскодировать.
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
// 5. Отправка запроса на сервер. В качестве параметра указываем данные, которые необходимо передать (необходимо для POST)
request.send(date_from);
});
});
</script>
</body>
</html>