繁体   English   中英

尝试设置mailto:链接

[英]Trying to set up mailto: link

我有一个网页,该网页具有用于插入供应商数据的表单,一旦插入,公司名称即被放置在选择框中。 选择公司后,将调用包含所有供应商信息的表。

我的问题是从php脚本调用了vendor_email,有没有一种方法可以将id的值插入到mailto:函数中。

 <tbody id="records">
    <td id="vendor_company"></td>
    <td id="vendor_rep"></td>
    <td id="vendor_email"></td>
</tbody>
<div class="row" id="no_records"><div class="col-sm-4">Plese select vendor name to view details</div></div>

这是我的php和js代码

<?php
include_once("Database/db_connect.php");
if($_REQUEST['empid']) {
$sql = "SELECT id, companyName, repName, venderEmail FROM vender_contact 
WHERE id='".$_REQUEST['empid']."'";
$resultset = mysqli_query($conn, $sql) or die("database error:". 
mysqli_error($conn));
$data = array();
while( $rows = mysqli_fetch_assoc($resultset) ) {
$data = $rows;
}
echo json_encode($data);
} else {
echo 0;
  }
 ?>

我的js代码

 $(document).ready(function(){
 // code to get all records from table via select box
 $("#vendors_data").change(function() {
 var id = $(this).find(":selected").val();
 var dataString = 'empid='+ id;

 $.ajax({
url:"getVendor.php",
dataType: "json",
data: dataString,
cache: false,
success: function(vendorData) {
if(vendorData) {
$("#heading").show();
$("#no_records").hide();
$("#vendor_company").text(vendorData.companyName);
$("#vendor_rep").text(vendorData.repName);
$("#vendor_email").text(vendorData.venderEmail);
$("#records").show();
} else {
$("#heading").hide();
$("#records").hide();
$("#no_records").show();
}
}
});
})
});

绝对有可能! 您只需要使用.html()而不是.text()

请注意, mailto位于href属性上,该属性是<a>标记的唯一属性。 因此,您需要将<a href=""></a>放在<td id="vendor_email"></td>

$("#vendor_email").html("<a href='mailto:" + vendorData.vendorEmail + "'>" + vendorData.vendorEmail + "</a>");

它将呈现为:

 vendorData = {}; vendorData.vendorEmail = 'test@test.com'; $("#vendor_email").html("<a href='mailto:" + vendorData.vendorEmail + "'>" + vendorData.vendorEmail + "</a>"); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="vendor_email"></div> 

除此之外,请注意,您的MySQLi 容易受到 SQL注入的 攻击 您应该使用准备好的语句 ,并确保您的数据库用户仅具有所需的特权 ,以防止出现这种情况。

您可以参考这篇文章以获取有关如何防止在PHP中进行SQL注入的更多信息:)

希望这可以帮助!

通过使用jQuery的.html()方法,您可以像这样插入html:

$( '#vendor_email' ).html( '<a href="mailto:' + vendorData.vendorEmail + '">' + vendorData.vendorEmail + '</a>' );

顺便说一句,我不禁注意到您在venderEmail供应商拼写为“ venderEmail

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM