繁体   English   中英

带有 mailto 和 javascript 功能的锚标记

[英]Anchor tag with mailto and javascript function

下面是我的一段代码,当用户单击锚链接时,我试图调用一个 javascript 函数和 mailto,我的 javascript 函数抛出错误,如果我删除 mailto 它工作正常。 如果我在这里遗漏了什么,请告知。

    <a rel="nofollow" onclick="javascript:confirm('2R','ADDRESS');return true;" href="mailto:housing@test.edu?
subject=Incorrect Residential Address">housing@test.edu (Click Here)</a>

这是我的确认功能,它有 ajax 调用

    function confirm(addcode,type){

     $.ajax({
            url: 'https://mysite.url/confirm',
            dataType: 'json',
            method: 'POST',
            cache : false,
             beforeSend: function setHeader(xhr){
                 console.log(addcode + '<--->'+type+'<--->'+term);
                $("#main-content").mask("Please wait...");
            },
            data: {
                'addCode': addcode,
                'type': type,
                'termCode' : term
            },
            success: function(data){
                notify("Confirmed");
                $("#main-content").unmask(); 
            },
            error: function(xhr, testStatus, error) {
                $("#main-content").unmask(); 
                notify("Unable to Confirm");

                console.log(error);
                console.log(xhr);
                console.log(testStatus);
            }
        });
}

还不能评论:我认为这不是一个真正的“错误”,更多的是代码没有像他期望的那样工作。

  • 在激活“mailto:”之前,您需要一个确认框。
  • 如果用户按是,那么它将激活它。
  • 如果用户按否,您希望它什么都不做。

这里有一个跨浏览器解决方案:jsfiddle: http : //jsfiddle.net/kychan/9KuLM/

function mConfirm(e, a)
{
    if (confirm('Are you sure you want to send it to: ' + a + '?'))
    {
        return true;
    }
    else
        e.preventDefault();
}

编辑:

顺便提一句。 您无法更改确认框的标题。 'confirm()' 函数仅适用于 1 个参数。 如果您坚持使用标题制作确认框,则应使用第三方脚本或您自己的函数。

暂无
暂无

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

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