javascript - AngularJS 和 PHPMailer 电子邮件按钮功能
问题描述
我目前正在开发一个应用程序,该应用程序允许用户通过单击按钮发送电子邮件,无论是发送给个人的单个电子邮件还是发送给所有联系人的大量电子邮件。
我被困在如何将 AJAX 链接到单个发送按钮和 PHPMailer 文件上。
这是按钮位于“发送单曲”的位置:
<script type="text/ng-template" id="display">
<td>{{data.customer_name}}</td>
<td>{{data.customer_email}}</td>
<td>
<input type="checkbox" name="single_select" class="single_select" />
</td>
<td>
<button type="button" class="btn btn-info btn-sm email_button" ng-click="sendData(data.customer_name)">Send Single</button>
</td>
<td>
<button type="button" class="btn btn-primary btn-sm" ng-click="showEdit(data)">Edit</button>
<button type="button" class="btn btn-danger btn-sm" ng-click="deleteData(data.id)">Delete</button>
</td>
</script>
<script type="text/ng-template" id="edit">
<td><input type="text" ng-model="formData.customer_name" class="form-control" /></td>
<td><input type="text" ng-model="formData.customer_email" class="form-control" /></td>
<td></td>
<td></td>
<td>
<input type="hidden" ng-model="formData.data.id" />
<button type="button" class="btn btn-info btn-sm" ng-click="editData()">Save</button>
<button type="button" class="btn btn-default btn-sm" ng-click="reset()">Cancel</button>
</td>
</script>
我尝试编辑删除按钮正在执行的操作以允许发送,但失败了。
$scope.sendData = function sendData(){
if(confirm("Are you sure you want to send?"))
{
$http({
method:"POST",
url:"send_mail.php",
}).success(function(data){
$scope.success = true;
$scope.successMessage = data.message;
$scope.fetchData();
});
}
}
这是应用程序当前的外观,链接如下:
编辑
电子邮件的 HTML 代码位于PHPMailer
文件中,我不需要通过表单对其进行处理。
原始工作版本
PHP
<?php
$count = 0;
foreach($result as $row)
{
$count++;
echo '
<tr id="index_table">
<td>'.$row["customer_name"].'</td>
<td>'.$row["customer_email"].'</td>
<td>
<input type="checkbox" name="single_select" class="single_select" data-email="'.$row["customer_email"].'" data-name="'.$row["customer_name"].'" />
</td>
<td><button type="button" name="email_button" class="btn btn-info btn-xs email_button" id="'.$count.'" data-email="'.$row["customer_email"].'" data-name="'.$row["customer_name"].'" data-action="single">Send Single</button></td>
</td>
<td></td>
<td><a href="delete.php?id=<?php echo escape($row["customer_id"]); ?>"><button type="button" name="delete" id="delete" data-row="row"+count+"" class="btn btn-danger btn-xs delete">DELETE</button></a></td>
</tr>
';
}
?>
AJAX(不喜欢代码块)
$.ajax({ url:"send_mail.php", method:"POST", data:{email_data:email_data}, beforeSend:function(){ $('#'+id).html('Sending...'); $('#'+id).addClass('btn-danger'); }, success:function(data){ if(data = 'ok') { $('#'+id).text('Success'); $('#'+id).removeClass('btn-danger'); $('#'+id).removeClass('btn-info'); $('#'+id).addClass('btn-success'); } else { $('#'+id).text(data); } $('#'+id).attr('disabled', false); } }); }); });
感谢大家 :)
解决方案
在这里你发送参数和你没有收到的功能
<button type="button" class="btn btn-info btn-sm email_button" ng-click="sendData(data.customer_name)">Send Single</button>
解决方法
$scope.sendData = function sendData(para){
推荐阅读
- bash - 在 Linux 控制台中截断工作目录的路径
- python - 返回矩阵的最大值
- javascript - 如何在 Angular 10 中使用 ngx-translate 翻译 ng-select 下拉值?
- python - Python Selenium:如何单击复选框的空白文本?
- c# - 在 Visual Studio(不是 VS Code)中为 C# 代码添加自定义缩进
- amazon-web-services - API 网关与 Lambda 和 DynamoDB 的集成
- anylogic - 任何逻辑的统计数据
- awk - awk 为测试元素创建一个列表
- django - 'str' 和 'int' 的实例之间不支持 /formpage '>' 处的 TypeError 错误也特定于 form.is_valid
- git - 从存储库推送和拉取