【问题标题】:Sending email through AJAX calculated column通过 AJAX 计算列发送电子邮件
【发布时间】:2015-06-18 03:29:12
【问题描述】:

我正在尝试为已在共享点列表中创建的项目发送自动电子邮件收据。

条件

  1. 我无法使用工作流 - 它们已被禁用
  2. 我无法使用 webpart - 它们已被禁用
  3. 我无法使用共享点设计器等 - 它们都被禁用了
  4. 函数需要OOTB

我唯一的选择是在计算列中使用 javascript。我知道 HTML:mailto 标记的使用 - 但这会打开 Microsoft Outlook,并且不是自动的。

看到这个链接:

http://geekswithblogs.net/ThorvaldBoe/archive/2014/07/03/sending-email-with-sharepoint-and-jquery.aspx

所以,这里是计算列尝试:

="<button onclick=""{function SendEMail(from, to, body, subject){"
&"var siteurl = _spPageContextInfo.webServerRelativeUrl;"
&"var urlTemplate = siteurl + '/_api/SP.Utilities.Utility.SendEmail';"
&"$.ajax({"
&"contentType: 'application/json',"
&"url: urlTemplate,"
&" type: 'POST',"
&"data: JSON.stringify({"
&"'properties': {"
&"'__metadata': { 'type': 'SP.Utilities.EmailProperties' },"
&"'From': from,"
&"'To': { 'results': [to] },"
&"'Body': body,"
&"'Subject': subject"
&"}}),"
&"headers: {"
&"'Accept': 'application/json;odata=verbose',"
&"'content-type': 'application/json;odata=verbose',"
&"'X-RequestDigest': $('#__REQUESTDIGEST').val()"
&"},success: function (data) {"
&"alert('Eposten ble sendt');"
&"},error: function (err) {"
&" alert(err.responseText);"
&" debugger;}});}"
&"SendEMail('user@whatever.com','user@whatever.com','Test1','Test2');}"">"&"Send</button>"

运行代码时,控制台显示如下错误:'$' is undefined

关于如何克服这个问题的任何建议?

谢谢

【问题讨论】:

  • 如果 $ 未定义,则 jquery 尚未加载...
  • 那么如何让脚本加载 jquery?
  • 您的脚本中是否包含 jquery 链接?
  • jquery 链接?我输入的代码只是该网站上内容的直接翻译。错过了什么?

标签: sharepoint html-email calculated-columns


【解决方案1】:

史蒂夫,你不断提高标准!

这样你真的让自己很难受

我建议先进行接下来的学习步骤:

  • Learn all about Chrome Snippets
    这将帮助您直接在视图页面上开发/执行代码,而无需将其填充到计算列或任何 in SharePoint

  • 脚本中
  • 学习 jQuery(通过使用代码段)
    查看jQuerify 它将在不可用的地方注入 jQuery

  • [可选] 学习Tampermonkey
    这将有助于立即在 SharePoint 页面上执行您的脚本(无需将脚本包含在 in SharePoint

  • 了解 JSOM Ajax 调用和 REST Ajax 调用(REST 在 2010 年实现半生不熟)
    再次;先在片段中做它们

当所有工作都完成一半时,您可以将其全部包装在计算列中(再次重申,如果他们决定在更新中进行更改,那么这都是对 Microsoft 技术的无证攻击熟...例如,他们在 2013 年夏天禁用了 SCRIPT 标签;这就是为什么您现在必须使用空白 IMG 加载技巧

注意:我已经更新了我的CalcMaster BookMarklet on GitHub。一旦你的代码片段工作了,你可以将它粘贴到现有的计算列公式中,并用 IMG onload&".." 符号单击

如果您可以发送电子邮件,请告诉我们;我从来没有这样做过...我远离无法使用 SharePoint Designer 的项目。

一旦你掌握了以上所有内容,你就会学到很多前端开发,我建议你去寻找另一份工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 2012-04-27
    • 2016-07-04
    相关资源
    最近更新 更多