我正在尝试为在sharepoint列表中创建的项目发送自动电子邮件收据。
条件
我唯一的选择是在计算列中使用javascript。我知道使用HTML:mailto标签 - 但这会打开Microsoft Outlook,而不是自动的。
遇到此链接:
所以,这是计算的列尝试:
="<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>"
运行代码时,控制台会显示以下错误:'$'未定义
有关如何克服这个问题的任何建议吗?
由于
答案 0 :(得分:0)
你继续提高标准,史蒂夫!
你真的这样对自己很难
我建议先进行下一步学习:
Learn all about Chrome Snippets
这将有助于您直接在View页面上开发/执行代码,而无需将其填入计算列或任何脚本 in SharePoint
学习jQuery(使用Snippets)
检查jQuerify它会在jQuery不可用的地方注入
[可选]了解Tampermonkey
这将有助于立即在SharePoint页面上执行您的脚本(无需在
学习JSOM Ajax调用和REST Ajax调用(REST在2010年实施半烘焙) 再次;首先在Snippets中进行
如果一切正常,你就完成了一半,你可以将它全部包装在计算列中(再次,这是所有未记录的黑客攻击微软技术,如果他们决定在更新中进行更改你是煮熟...例如他们在2013年夏天禁用了SCRIPT标签;这就是为什么你现在必须使用空白的IMG onload技巧
注意:我更新了CalcMaster BookMarklet on GitHub。在您的代码段工作后,您可以将其粘贴到现有的计算列公式中,并将其包装在 IMG onload 和&amp;“..”表示法中,只需点击一下
如果您发送电子邮件,请告知我们;我从来没有这样做过......我远离了无法使用SharePoint Designer的项目。
一旦你掌握了上述所有内容,你就会学到如此多的前端开发,我建议你去寻找另一份工作。