Как вызвать функцию с кнопки html - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь вызвать функцию с помощью кнопки в теле html при onclick. Эта функция отправляет идентификатор в php для обработки некоторой информации. Проблема в том, что когда я нажимаю кнопку, она не вызывает функцию. Кто-нибудь может сказать мне, что я делаю не так?

Спасибо

Это код,

<html>
    <head>
        <title>Carrental</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

     <script>
             function delete(id){

                var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function() {
                      if (this.readyState == 4 && this.status == 200) {
                        var available = this.responseText;
                      }
                  };
                xhttp.open("GET", "add_delete_session.php?action=delete&id="+id, true);
                xhttp.send();
            }
        </script>
    </head>


    <body>
        <button type="button" onclick="delete(9)">Erase</button>
    </body>


</html> 

Ответы [ 4 ]

2 голосов
/ 29 мая 2020

delete - оператор . Его нельзя использовать в качестве имени переменной.

Переименовать функцию.

0 голосов
/ 29 мая 2020

Проблема заключается в том, что оператор delete в JavaScript

Оператор JavaScript delete удаляет свойство из объекта; если больше нет ссылок на то же свойство, оно в конечном итоге автоматически освобождается.

Итак, ваш код пытается удалить объект или элемент, упомянутый после него, и не вызывает метод, который вы написали.

В соответствии с примером в @ Pluto { ссылка } Вы должны переименовать метод и вызвать его.

0 голосов
/ 29 мая 2020

Вам необходимо изменить delete на другое имя функции, delete - оператор, вы можете увидеть список операторов здесь: Выражения и операторы

function ajaxCall(id){

                var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function() {
                      if (this.readyState == 4 && this.status == 200) {
                        var available = this.responseText;
                      }
                  };
                xhttp.open("GET", "add_delete_session.php?action=delete&id="+id, true);
                xhttp.send();
            }
        </script>
    </head>


    <body>
        <button type="button" onclick="ajaxCall(9)">Erase</button>
    </body>
0 голосов
/ 29 мая 2020

Невозможно вызвать функцию удаления. Просто переименуйте его :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...