Обработка форм SharePoint Online

Я написал простую форму 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 нашей компании.

Насколько я могу судить, запустить PHP в SharePoint невозможно. Я также не могу использовать веб-часть PageViewer.

Как лучше всего сделать это через SharePoint? Что-то на стороне клиента, которое будет работать внутри SharePoint? Я думаю, что Java Script - это вариант, но я ничего об этом не знаю. Я знаю, что SharePoint использует ASP, но знаю об этом еще меньше.

Любая помощь будет оценена по достоинству!


person ColLeslieHapHapablap    schedule 25.09.2015    source источник
comment
Какова ваша цель? Вы можете использовать стандартный список и создать собственную форму или использовать веб-часть ...   -  person Ella Svetlaya    schedule 25.09.2015
comment
Моя цель - иметь те же функциональные возможности, что и в приведенном выше сценарии в SharePoint. Я изучал использование веб-части средства просмотра страниц, но у меня нет доступа к какому-либо внешнему хостингу для этого.   -  person ColLeslieHapHapablap    schedule 25.09.2015


Ответы (1)


PHP - это серверный код, который вы не можете добавить в SharePoint Online, если не хотите писать свои собственные приложения SharePoint.

Для чего-то вроде этого, вероятно, лучше всего будет просто страница с некоторым 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>

person Thriggle    schedule 25.09.2015
comment
Кажется, это именно то, что я хочу. Как я лучше всего могу его реализовать? Поместить javascript в теги скрипта? - person ColLeslieHapHapablap; 26.09.2015
comment
Я получил это, и он делает почти все, что мне нужно. Однако часть, которая должна создать ссылку mailto, не работает. Он выводит адрес электронной почты, но ссылка - это просто mailto: не содержит адреса электронной почты. - person ColLeslieHapHapablap; 26.09.2015
comment
Это сделало это. Я поместил сценарий внизу страницы в теги сценария и добавил его в код страницы SharePoint, и он отлично работает. Спасибо! - person ColLeslieHapHapablap; 26.09.2015
comment
Эй, извини, что копаю эту резервную копию. Знаете ли вы, как добавить флажок, который, если он установлен, добавлял бы дополнительный HTML к сгенерированной подписи? Некоторые люди добавляют img-ссылки на наши страницы в социальных сетях. Таким образом, дополнительный код просто добавит несколько тегов ‹img› и ‹a href› в конец. - person ColLeslieHapHapablap; 29.09.2015
comment
Конечно. Я добавил код в приведенный выше пример для отображения содержимого div, когда установлен соответствующий флажок. - person Thriggle; 29.09.2015
comment
Вы потрясающий человек. - person ColLeslieHapHapablap; 29.09.2015
comment
Я хотел добавить примечание для всех, кто может с этим столкнуться: я обнаружил, что когда я запускал это внутри Sharepoint, он запускался, а затем обновлял страницу. После долгих поисков я обнаружил, что он работал правильно, когда я изменил кнопку с type="submit" на type="button". Насколько я понимаю, отправляйте сообщения с содержанием формы, которое выглядит как обновление. - person ColLeslieHapHapablap; 30.09.2015