Форматирование строк в JavaScript для использования в качестве ссылок HTML "MAILTO" - PullRequest
0 голосов
/ 07 апреля 2010

Вот некоторые строки, которые я использую для окончательного формирования ссылки HTML mailto. Я делаю это в JavaScript. Если я вывожу mailtoString на alert(), я получаю ссылку выглядит просто отлично. Однако, когда я помещаю его в location.href, строка обрывается на символе «&». Как мне сообщить location.href, что "&" не является концом ссылки mailto?

    var subject = escape('subject');
    var body = escape('body');
    var reportUrl = document.URL + "/GetUpdatedTableResults?beginDate=" + beginDate + "&endDate=" + endDate + "&fileId=" + DocId + '&languageCode=' + LangCode + '&documentResultType=' + result + '&result=' + ReportedIssue;
    var excelUrl = document.URL + 'CurReport/GetCSVReport?beginDate=' + beginDate + '&endDate=' + endDate + '&fileId=' + DocId + '&languageCode=' + LangCode + '&documentResultType=' + result + '&result=' + ReportedIssue;
    var mailtoString = 'mailto:?subject=' + subject + '&body=' + body + '%0A%0AWeb:%0A' + reportUrl + '%0A%0AExcel:%0A' + excelUrl;        
    location.href = mailtoString;

После выполнения кода выше я получаю следующий вывод.

http://localhost:5050/CurReport/GetUpdatedTableResults?beginDate=0 

1 Ответ

1 голос
/ 07 апреля 2010

Потому что сразу после mailto: должен быть адрес электронной почты. ? - допустимые символы электронной почты, но & - нет. В любом случае, & должен быть экранирован до &.

...