Wordpress表单提交拦截

问题描述 投票:0回答:1

我有一个用于创建用户的WordPress表单。我正在尝试拦截表单的数据(最好是JSON)并将其发送到API。供参考,我对Java相当熟悉,但几乎不了解WordPress。

最初,我尝试使用new FormData(myFormElement)检索表单上的数据,但是返回的表单格式错误,丢失了我需要的许多数据。接下来,我尝试从表单中抓取数据,基本上是在进行树的遍历,但是事实证明这很困难并且容易出错。作为最后的选择,我可能可以从WordPress的数据库中查询此数据,但理想情况下,我想一并进行这些操作。

我在页面底部插入了一个脚本标记,并将事件侦听器附加到表单的Submit事件上。有什么方法可以从此事件侦听器访问表单的数据吗?如果不是,我可以以其他方式进入表单状态吗?我知道这可能与实现有关,但是由于我不是WordPress专家,因此我不确定从何而来。

javascript wordpress dom-events
1个回答
0
投票

使用Javascript

var form_container, form_inputs, form_input_type,type;//Variables 
form_input_type=["input","select"];//Type to read data 

form_container = document.getElementsByTagName('body');//Global container 
var json_object_array={}; //Final object 

for(type of form_input_type){//Type Loop
    inputs = form_container[0].getElementsByTagName(type); //Get all inputs from container object  
       for(var input_object of inputs){ //Input loop array 
           json_object_array[input_object.name]=input_object.value;//read object value and name store into final object 
    }
}
console.log(json_object_array);// final object print in console 

此最终目标文章使用AJAX到API

© www.soinside.com 2019 - 2024. All rights reserved.