代码之家  ›  专栏  ›  技术社区  ›  chris

未调用Sharepoint on submit函数

  •  2
  • chris  · 技术社区  · 7 年前

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

    我不得不用div来包装表单,因为sharepoint不想只使用表单标记来获取elementsbyclassname。

    现在,我陷入了提交按钮的addEventListener函数,它不会执行 Handleform提交 . 控制台没有显示错误。

    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);
    

    HandleForm提交:

    const handleFormSubmit = event => {
      event.preventDefault();
      console.log("default prevented");
     /// handling Data
    };
    

    还测试了用

    document.onreadystatechange = function () {
        if (document.readyState == "interactive") {
           //code
       }
    }
    

    Sharepoint是否接受在“提交”时处理事情,我是否需要在按钮上生成onclick()事件,或者我是否在其他地方出错?

    1 回复  |  直到 7 年前
        1
  •  0
  •   chris    7 年前

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

    <fieldset>
     ....
    </fieldset>
    

    而您可以使用肋标记作为 <myform> ,这将中断 form.elements 而且它不会起作用。