将查询过的电子邮件传递给“mailto:”

时间:2015-11-21 21:45:46

标签: javascript

我正在研究动态查询系统。简单地说,用户使用不同的参数进行搜索,并且查询结果会根据这些参数动态变化。我将在表格中显示结果。该系统的一个选项是显示文档(pdfs)。当用户单击文档名称时,将打开pdf文件。以下代码可以正常工作。

function displayResults_document(pElmt) {
var table = pElmt.append("table").attr("class", "result-table");
var tr = table.append("tr").attr("id", "row1");
    // Document Name
    tr.append("td").append("h4").append("a").attr("href", function (d) {
                if (d.attributes.link) {
                    return d.attributes.link;
                } else {
                    return "#";
                }
            })
            .text(function (d) {
                return d.attributes.name;
            });
}

查询的其他结果之一是电子邮件。我想要的是,当用户点击电子邮件地址时,Outlook(或其他电子邮件应用程序)打开,点击的地址发送电子邮件。这是我现在所做的(类似上面的代码)。我通过替换%s

尝试了所选的电子邮件地址
function displayResults_email(pElmt) {
var table = pElmt.append("table").attr("class", "result-table");
var tr = table.append("tr").attr("id", "row1");
    //Email Queried List
    tr.append("td").append("h4").append("a").attr("href", function(d) {
        var prefix = "mailto:%s";
        var query_results = d.attributes.email1;
        var end_result = prefix.replace("%s", query_results);
        return end_result;
    }).text(function (d){
        return d.attributes.email1;
    });
}

使用上面的代码,它记录mailto:undefined我认为我需要将变量作为全局或sth传递?虽然我的几次试验,我不能这样做..任何建议表示赞赏。感谢

1 个答案:

答案 0 :(得分:0)

好吧,有时短暂的休息和一点新鲜空气有助于看到小错误。以下代码解决了我的问题。希望别人也能受益..

function displayResults_email(pElmt) {
var table = pElmt.append("table").attr("class", "result-table");
var tr = table.append("tr").attr("id", "row1");
    // Email
    tr.append("td").append("h4").append("a").attr("href", function (d) {
                var prefix = "mailto:%s";
                var query_result = d.attributes.email1;
                var end_result = prefix.replace("%s", query_result);
                return end_result;
            }).text(function (d) {
                return d.attributes.email1;
            });
}