2017-03-22 9 views
1

私はまだJQueryを回避しようとしています。私がここでやろうとしているのは、サイト内のすべてのユーザーにメッセージを送信することです.JQuery/Ajaxをもっと使用しようとしています。 、コードこれまで:JQuery/PHPの電子メールフォームに関する問題

質量email.php

<?php 
include('includes/db_connection.php'); 
include('includes/sessions.php'); 
include('includes/functions.php'); 
include('includes/header.php'); 
include('includes/navbar-logged.php'); 
// who is the admin sending the email? 
$row  = DB::getInstance()->selectOneByField('membership', 'member_username', $member); 
$admins_id = $row['member_id']; 
?> 
<div id="insert-text"></div> 
<div class="panel panel-primary"> 
    <div class="panel-heading">Mass e-mail all users.</div> 
    <div class="panel-body"> 
     <form id="frmAjax" action="mass-email.php" method="post" class="form-horizontal container-fluid" role="form"> 
      <div class="row form-group"> 
       <div class="col-sm-4 text-right"><label for="txtMessage" class="control-label">Message:</label></div> 
       <div class="col-sm-8"> 
        <textarea id="" name="message" class="form-control" required="required"></textarea> 
       </div> 
      </div> 
      <div class="row form-group"> 
       <div class="col-sm-12 text-right"> 
        <button type="submit" name="submit" class="btn btn-default">Send</button> 
       </div> 
      </div> 
     </form> 
    </div> 
    <div class="panel-footer">Send a mass e-mail to <b>all users</b> currently registered.</div> 
</div> 
<script> 
$('#frmAjax').submit(function(e) { 
e.preventDefault(); // important so the submit doesn't clear the data... 
var txtAreaValue = document.getElementsByTagName("textarea")[0].value; 
$.post('ajax-emails.php', {txtAreaValue:txtAreaValue}, function (data) { 
      //alert(txtAreaValue); 
}); 
$('#insert-text').load('ajax-emails.php'); 
}); 
</script> 
<?php 
include('includes/footer.php'); 

AJAX-emails.php

<?php 
    include('includes/db_connection.php'); 
    include('includes/functions.php'); 
    // mass email 
    $result = DB::getInstance()->selectAll('membership'); 
    // loop through the emails 
    foreach ($result as $row) { 
     $email   = $row['member_email']; 
     $username  = $row['member_username']; 
     $message  = nl2br($_POST['txtAreaValue']); 
     $message  = stripslashes($message); 
     echo $message; 
     //$mailSent = sendMassEmail($email, $username, $message); 
     echo "<b>email sent to: <font color='green'>".$email."</font></b>"; 
    } 
?> 

T彼はこれまでに何をしているのですか、私はメッセージの価値を素直に分けることができます。私はPHPファイルに値を渡すことができません。

+0

jqueryはphpに、jpはphpに、もう一度phpに行きたいですか?ただ、ajax-emails.phpにとどまり、そこにメールを送ってください。 – Roy

+0

Hey Roy、この例ではjqueryをバイパスするだけですか? – colinreedy674

+0

@afzaalaceのレスポンスを見て、php(ajax-email.php)で電子メールを送信して、#insert-textに戻ります – Roy

答えて

0

私はこれがあなたが望むものだと思います。 $('#insert-text').load('ajax-emails.php');は何もしません。

<script> 
$('#frmAjax').submit(function(e) { 
    e.preventDefault(); // important so the submit doesn't clear the data... 
    var txtAreaValue = document.getElementsByTagName("textarea")[0].value; 
    $.post('ajax-emails.php', {txtAreaValue:txtAreaValue}, function (data) { 
     $('#insert-text').html(data); 
    }); 
}); 
</script> 
関連する問題