iPhone中的mailto链接正在添加加号而不是空格

时间:2012-03-02 19:43:37

标签: ios mobile-safari mailto

我有一个我正在构建的网络应用程序,需要使用mailto:链接为tell-a-friend部分。消息正文对于URL来说太长了,所以我以隐藏的形式使用它并通过jQuery发送表单。

一切都运作得很好,除了它是在空间应该去的地方添加+符号。我已经尝试过转义,用空格替换“+”,但一旦到达“mailto_form.submit();”,+符号就会被添加到主语和正文中。

提前感谢任何建议!

<form id="mailto_form" action="mailto:" style="visibility:hidden;position:absolute;height:1px;width:1px;" method="get">
    <input type="hidden" name="Subject" value="{$tellafriend_subject|replace:'"':'&quot;'}">
    <input type="hidden" name="Body" value="{$tellafriend_body|replace:'"':'&quot;'}">
    <input type="submit">
</form>

$(".email_link").click(function(e) {
    var mailto_form = $("#mailto_form");

    var val = $("input[name=Subject]", mailto_form).val();
    val = val.replace("[[[NAME]]]", firstname);
    $("input[name=Subject]", mailto_form).val(val);

    var val = $("input[name=Body]", mailto_form).val();
    val = val.replace("[[[NAME]]]", firstname + " " + lastname);
    $("input[name=Body]", mailto_form).val(val);

    mailto_form.submit();

    e.preventDefault();
});

1 个答案:

答案 0 :(得分:2)

使用%20

似乎是iOS邮件客户端的问题。代替+,您可以将空格进行网址编码为%20。我刚遇到问题,%20是我的解决方案。