I'm trying to do a Ajax demo to teach myself the concept but I just can't make it work.
The sample I'm trying to get is to take a variable on the first page (in this case, the colour green) and if the green button is clicked, use that on the ajax processing page to record somehow that the green button was clicked (currently in the error log, then I'll move onto storing it in a database).
Ideally I'd like to be able to reuse the same snippet to change the variable to red, and have the error log report that the red button was pressed.
I've used the location.reload and the random number to prove to myself that the javascript is executing, and that the page is different with each load.
I'm not a javascript guy at all, you may be able to tell. Do I need to declare the a variable first or something else entirely?
uglytest.php
<script src="https://code.jquery.com/jquery-2.2.3.js"></script>
<!-- jQuery Ajax -->
<script type="text/javascript">
function clickyes(a) {
$.ajax({
type: "POST",
url: "./ajax.php",
data: {"test":a},
success: function (response) {
default = $("#default").val();
});
location.reload();
}
</script>
<script type="text/javascript">
function clickno() {
location.reload();
}
</script>
<?
echo mt_rand(0,99);
$result = "green";
echo "<p><form>here's a $result button. Do you want click on it?</p>";
echo "<button onclick=\"clickyes(" . $result . ")\" style=\"background-color: $result; \">Yes</button>";
echo "<button onclick=\"clickno()\">No</button></form>";
?>
ajax.php
<?
$test = $_POST['test'];
error_log($test, 0);
?>