我有一个工作表单,带有一个POST方法,可以将在JSON中解析的值发送到外部网站。但是,如果我在Sharepoint上托管表单,它将无法工作。
我必须使用div包装表单,因为sharepoint不希望getElementsByClassName只包含表单标记。
现在我停留在提交按钮的addEventListener函数中,该按钮不执行 handleFormSubmit 。控制台显示没有错误。
HTML(缩短):
<div id="formAbc">
<form class="content__form abc">
<div class="abc__input-group">
<label class="abc__label" for="iNumber">iNumber</label>
<input class="infrastruktur__input infrastruktur__input--text" id="iNumber" name="iNumber" type="text"/>
</div>
<div class="abc__input-group">
<label class="abc__label" for="machineName">machineName</label>
<input class="abc__input abc__input--text" id="machineName" name="machineName" type="text"/>
</div>
<button class="abc__button" type="submit">Absenden</button>
</form>
</div>
使用Javascript: 的addEventListener:
const Formtest = document.getElementById('formAbc');
console.log(Formtest);
Formtest.addEventListener('submit', handleFormSubmit);
handleFormSubmit:
const handleFormSubmit = event => {
event.preventDefault();
console.log("default prevented");
/// handling Data
};
还测试了我的所有javascript包装
document.onreadystatechange = function () {
if (document.readyState == "interactive") {
//code
}
}
Sharepoint是否接受'submit'处理的事情,我是否需要在按钮上创建onclick()事件或者我在其他地方是否有错误?
答案 0 :(得分:0)
问题似乎是<form>
标记,因为Sharepoint不允许在CEWP中使用这些标记。
我通过使用<fieldset>
标记解决了这个问题,解决了所有问题。
<fieldset>
....
</fieldset>
虽然您可以将costum标记用作<myform>
,但这会中断form.elements
并且无效。