2017-10-07 57 views
0

(不是內部如何運行使用按鈕一個單獨的PHP文件

提交按鈕),我有這個 button這不是一個 submit按鈕,只需regualr按鈕, 它不是一個<form>標籤內。

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

我需要執行一個單獨的PHP文件(send.php)時我點擊send按鈕

我知道如何做到這一點,如果buttontype="submit",是一個<form>

但是在這種情況下,我想不出如何去做。請幫助...

+0

你想發送某種數據到'send.php'還是隻是一個空的GET請求?你想顯示新的頁面嗎?目前尚不清楚。 – Walk

+0

你可以使用阿賈克斯爲你的問題 https://stackoverflow.com/questions/1280767/how-do-i-run-php-code-when-a-user-clicks-on-a-link –

+0

謝謝你非常:) –

回答

3

請勿使用按鈕。使用常規鏈接。 Use CSS to make it look however you like

或者,將其設置爲提交按鈕並將其放入表單中。表單不需要其他任何東西。如果您願意,您可以將style表格設爲display: inline

或者,add a click event handler用JavaScript爲location分配一個新值。

另外,添加使用JavaScript單擊事件處理程序,它使用XMLHttpRequest對象或fetch對象,使一個HTTP請求,而不必離開頁面。

+0

你能簡化你的答案嗎? –

+0

@ user8696864 - 如果您想要簡單版本,請忽略除第一行之外的所有內容。 – Quentin

0

您可以使用Ajax調用按鈕單擊事件的PHP類

+0

謝謝。你能告訴我怎麼做嗎? –

+0

你可以從這個鏈接獲取幫助https://www.w3schools.com/jquery/tryit.asp?filename = tryjquery_ajax_ajax –

+0

非常感謝你:) –

0

我是這樣做的:

一些研究,我結束了寫這個javascript代碼使用ajax

這是我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> 

這是我PHP文件

<?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>';   
    } 
?> 

這是我在javascript文件HTML ...

<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> 

好吧,希望你能得到理解這一點。謝謝大家幫忙:)

相關問題