提交功能上的 Sharepoint 不会被调用

Sharepoint on submit function doesn't get called

我有一个 工作表单 和一个 POST 方法,可以将 JSON 中解析的值发送到外部网站。但是,如果我在 Sharepoint 上托管表单,它将不起作用。

我不得不用 div 包裹表单,因为 sharepoint 不想只使用表单标签来获取 ElementsByClassName。

现在我被困在提交按钮的 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: 添加事件监听器:

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() 事件,或者我在其他地方有错误吗?

问题似乎出在 <form> 标签上,因为 Sharepoint 不允许在 CEWP 中使用这些标签。 我通过使用 <fieldset> 标签解决了这个问题并且解决了所有问题。

<fieldset>
 ....
</fieldset>

虽然您可以将服装标签用作 <myform>,但这会破坏 form.elements,并且无法正常工作。