【问题标题】:SharePoint Online Form ProcessingSharePoint Online 表单处理
【发布时间】:2015-09-25 18:09:41
【问题描述】:

我编写了一个简单的 HTML/PHP 表单,它从表单获取输入并输出到 HTML 以创建公司标准电子邮件签名。它只是将表单字段中的字符串回显到签名的 HTML 中。

表格:

<form action="sig.php" method="post">
Full Name: <input type="text" name="fullName"><br>
Job Title: <input type="text" name="jobTitle"><br>
Direct Phone Number (xxx.xxx.xxxx) <input type="text" name="phoneNumber"><br>
Email: <input type="text" name="email"><br>
<input type="submit">
</form>

PHP:

<div style="font-size:10pt; font-family:'Arial',sans-serif;color:#0E5881">
Please copy/paste the following into your email signature:
</div>
<hr>
<br>
<br>
<div style="font-size:12pt; font-family:'Arial',sans-serif;color:#133467">
<b><?php echo $_POST["fullName"]; ?></b>
</div>
<div style="font-size:10pt; font-family:'Arial',sans-serif;color:#0E5881">
<?php echo $_POST["jobTitle"]; ?>
</div>
<div style="font-size:10pt; font-family:'Arial',sans-serif;color:#656565">
Direct:</b>&nbsp;<?php echo $_POST["phoneNumber"]; ?>
<br>
<a href="mailto:<?php echo $_POST["email"]; ?>"><?php echo $_POST["email"]; ?></a>&nbsp;&#124;&nbsp;<a href="http://www.example.com">www.Example.com</a>
</div>
<br>
<div style="font-size:20pt; font-family:'Arial',sans-serif;color:#676767">
<b>Example.com</b>

效果很好,但现在他们告诉我他们想把它放在我们公司的 SharePoint Online 网站上。

据我所知,没有办法在 SharePoint 上运行 PHP。我也不能使用 PageViewer Web 部件。

通过 SharePoint 执行此操作的最佳选择是什么?将在 SharePoint 内部运行的客户端?我认为 Java Script 是一种选择,但我对此一无所知。我知道 SharePoint 使用 ASP,但我对此知之甚少。

任何帮助将不胜感激!

【问题讨论】:

  • 你的目标是什么?您可以使用标准列表并创建自定义表单或使用 web-part...
  • 我的目标是在 SharePoint 上拥有与上述脚本相同的功能。我研究过使用页面查看器 Web 部件,但我无权访问它的任何外部托管。

标签: javascript html forms sharepoint sharepoint-online


【解决方案1】:

PHP 是服务器端代码,除非您愿意编写自己的 SharePoint 应用程序,否则无法将其添加到 SharePoint Online。

对于这样的事情,你最好的选择可能只是一个带有一些 JavaScript 的页面。

document.getElementById("btnSubmit").addEventListener("click", function() {
  document.getElementById("signaturePanel").style.display = "inherit";
  document.getElementById("fullNameOut").innerHTML = document.getElementById("fullName").value;
  document.getElementById("jobTitleOut").innerHTML = document.getElementById("jobTitle").value;
  document.getElementById("phoneNumberOut").innerHTML = document.getElementById("phoneNumber").value;
  var email = document.getElementById("email").value;
  var emailOut = document.getElementById("emailOut");
  emailOut.innerHTML = email;
  emailOut.href = "mailto:" + email;
  document.getElementById("socialOut").style.display = document.getElementById("social").checked ? "inherit" : "none";
  
});
Full Name:
<input type="text" id="fullName" />
<br>Job Title:
<input type="text" id="jobTitle" />
<br>Direct Phone Number (xxx.xxx.xxxx)
<input type="text" id="phoneNumber" />
<br>Email:
<input type="text" id="email" />
<br>
<input type="checkbox" id="social" checked="checked" />Include social media links
<br/>
<input type="button" id="btnSubmit" value="submit" />

<div id="signaturePanel" style="display:none">
  <div style="font-size:10pt; font-family:'Arial',sans-serif;color:#0E5881;">
    Please copy/paste the following into your email signature:
  </div>
  <hr>
  <br>
  <br>
  <div style="font-size:12pt; font-family:'Arial',sans-serif;color:#133467">
    <b><span id="fullNameOut"></span></b>
  </div>
  <div style="font-size:10pt; font-family:'Arial',sans-serif;color:#0E5881">
    <span id="jobTitleOut"></span>
  </div>
  <div style="font-size:10pt; font-family:'Arial',sans-serif;color:#656565">
    Direct:</b>&nbsp;<span id="phoneNumberOut"></span>
    <br>
    <a id="emailOut" href="mailto:"></a>&nbsp;&#124;&nbsp;<a href="http://www.example.com">www.Example.com</a>
  </div>
  <br>
  <div style="font-size:20pt; font-family:'Arial',sans-serif;color:#676767">
    <b>Example.com</b>
    <div id="socialOut" style="display:none">
      <a href="http://example.com">
        <img src="https://placeholdit.imgix.net/~text?txtsize=15&txt=twitter+link&w=90&h=90&txttrack=0" />
      </a>
    </div>
  </div>

【讨论】:

  • 这似乎正是我想要的。我最好的选择是什么?将javascript放入脚本标签?
  • 我让它运行,它几乎可以完成我需要的一切。但是,应该创建 mailto 链接的部分不起作用。它输出电子邮件地址,但链接只是一个 mailto: 不包含电子邮件地址。
  • 做到了。我将脚本放在页面底部的脚本标签中,并将其添加到 SharePoint 页面的代码中,它运行良好。谢谢!
  • 嘿,很抱歉把这个挖回来了。您是否知道添加复选框的方法,如果选中会在生成的签名中添加额外的 HTML?有些人将 img 链接添加到我们的社交媒体页面。所以额外的代码只会在末尾添加一些 标签。
  • 我想为任何可能遇到此问题的人添加注释:我发现当我在 Sharepoint 中运行它时,它会运行然后刷新页面。找了好久,发现我把按钮从type="submit"改成type="button"就可以正常使用了,按我的理解,提交帖子表单内容,貌似刷新了。
猜你喜欢
  • 1970-01-01
  • 2020-04-12
  • 2018-08-24
  • 2020-12-27
  • 2020-10-16
  • 1970-01-01
  • 2021-10-24
  • 2023-03-19
  • 2014-12-10
相关资源
最近更新 更多