如何使用Button运行单独的PHP文件(不是<form>中的提交按钮)

I have this button which is not a submit button, just a regualr button and it is not inside a <form> tag.

<button type="button" id="send" class="btn btn-outline-blue btn-sm">Send</button>      

I need to execute a separate PHP file (send.php) when I click on the send button

I know how to do this if the button is a type="submit" and is inside a <form>

But in this kind of a situation, I can't think of how to do it. Please HELP...

Don't use a button. Use a regular link. Use CSS to make it look however you like.

Alternatively, make it a submit button and put it inside a form. The form doesn't need anything else in it. You can style the form to be display: inline if you like.

Alternatively, add a click event handler with JavaScript which assigns a new value to location.

Alternatively, add a click event handler with JavaScript which uses the XMLHttpRequest object or the fetch object to make an HTTP request without leaving the page.

You can use ajax to call the php class on button click event

Here's how I did it:

with some research I ended up writing this javascript code which use ajax

Here it's my HTML

<div class="md-form">
    <i class="fa fa-user prefix grey-text"></i>
    <input type="text" id="subject" name="subject" class="form-control ">
    <label for="form-name">subject</label>
</div>

<div class="md-form">
    <i class="fa fa-envelope prefix grey-text"></i>
    <input type="text" name="to" id="to" class="form-control ">
    <label for="form-email">Your email</label>
</div>

<div class="md-form">
    <i class="fa fa-tag prefix grey-text"></i>
    <input type="text"  name="message" id="message" class="form-control">
    <label for="form-Subject">Message</label>
</div>

Here's my PHP file

<?php
    $mailto=$_POST['to'];
    $mailSub=$_POST['subject'];
    $mailMSG=$_POST['message'];
    require 'PHPMailer-master/PHPMailerAutoload.php';
    $mail = new PHPMailer();
    $mail ->IsSmtp();
    $mail ->SMTPDebug=0;
    $mail ->SMTPAuth=true;
    $mail ->SMTPSecure='tls';
    $mail ->Host='smtp.gmail.com';
    $mail ->Port= 587; //465; //or 587
    $mail ->IsHTML(true);
    $mail ->Username="myemail";
    $mail ->Password="password";
    $mail ->SetFrom("email");
    $mail ->Subject=$mailSub;
    $mail ->Body=$mailMSG;
    $mail ->AddAddress($mailto);

    if(!$mail ->Send() || !isset($mailto) || trim($mailto)=='' || !isset($mailSub) || trim($mailSub)=='' || !isset($mailMSG) || trim($mailMSG)=='' ){       
                echo '<script language="javascript">';
        echo 'alert("Mail not Sent!!!!")';
        echo '</script>';
    }else{
        echo '<script language="javascript">';
        echo 'alert("message successfully sent")';
        echo '</script>';           
    }
?>

This is myjavascript in HTML file...

   <script type="text/javascript">
        $(document).ready(function () {
            $("#send").click(function () {

                $.ajax({
                    url: 'SendEmail.php',
                    type: 'POST',
                    dataType: "json",
                    data: {
                        to: $('#to').val(),
                        subject: $('#subject').val(),
                        message: $('#message').val()
                    }
                }).done(function (data) {
                    alert(JSON.stringify(data));                        
                });
            });
        });
    </script>

Well, hope you can get understand about this. Thanks everyone helped :)