Привет, я хочу выполнить функцию bb()
при нажатии кнопки.
Я попробовал следующий код, но это не сработало.
echo "<div class ='i2' id=".$x.">"; echo "<button type='button' style='display: none;' id='i' name='delete' onclick='document.body.removeChild(this.parentNode)'>"; echo"</button>"; echo "</div>"; <?php function bb() { echo "hello"; } if (isset($_GET['delete'])) { bb(); } ?>
Ваша кнопка HTML, а ваша функция – PHP. Они выглядят вместе, потому что они в одном файле, но они не вместе. PHP существует только на сервере. HTML работает только с клиентом (браузером). Когда вы видите кнопку в своем браузере, PHP ушел, у вас есть только HTML.
Чтобы сделать кнопку HTML для вызова функции PHP, вам нужно будет переместить вашу функцию в файл PHP, а затем заставьте ее называть ее с помощью Ajax. Пример:
bb1.html : содержит кнопку, которая использует Ajax для вызова функции PHP.
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type = "text/javascript"> function myAjax () { $.ajax( { type : 'POST', data : { }, url : 'bb2.php', // <=== CALL THE PHP FUNCTION HERE. success: function ( data ) { alert( data ); // <=== VALUE RETURNED FROM FUNCTION. }, error: function ( xhr ) { alert( "error" ); } }); } </script> </head> <body> <button onclick="myAjax()">Click here</button> <!-- BUTTON CALL PHP FUNCTION --> </body> </html>
bb2.php : содержит функцию, которая возвращает «привет».
<?php function bb() { echo "hello"; // VALUE RETURNED. } bb(); ?>
Создайте два текстовых файла с указанными именами, скопируйте эти коды, откройте свой браузер и запустите «localhost / bb1.html».
Так кнопка вызывает функцию PHP: Ajax делает всю магию.