wordpress JavaScript setAttribute(value,name)输入字段在提交时未发送到BE

juzqafwq  于 2023-05-06  发布在  WordPress
关注(0)|答案(1)|浏览(106)

我在我的WordPress网站上使用Amelia日历插件。
我在使用document.setAttribute(value, name)的地方启用了自定义字段,但是当我提交此表单时,JS setAttribute字段不会发送到后端。
下面是我设置的测试域来看看:http://s918546899.websitehome.co.uk/elementor-6
下面是我编写的JavaScript,用于设置自定义字段中的值:

if(window.location.href.includes("elementor-6")) {
// 1. set on click on next button once you land on page
    setTimeout(function(){
        document.getElementsByClassName("am-button")[1].setAttribute("onclick", "myFunction()"); 
        console.log("onclick has been set")
    }, 3000);
}

// 2. call function that will set on click on next button for second form screen 
function myFunction() {
    if (document.getElementsByClassName("am-fs__main-heading-inner-title")[0].textContent != "Your Information") {
        setTimeout(function() { document.getElementsByClassName("am-button")[1].setAttribute("onclick", "myFunction()"); }, 3000);
        console.log("onclick set again");
    } else {
        //document.getElementsByClassName("am-fs__main-heading-inner-title")[0].textContent == "Your Information" {
                
        // set text in input fields
        document.getElementsByClassName("el-input__inner")[3].setAttribute("value", "test");
        document.getElementsByClassName("el-input__inner")[4].setAttribute("value", "test2");
    }
}

如果有人能看一下并帮助解决这个问题,我将非常感激。
这也是一个测试域,如果有人想看看BE,很乐意分享wp-admin凭据。

gudnpqoy

gudnpqoy1#

您正在附加事件,而不是设置属性。这是使用函数addEventListener完成的。还可以考虑使用更有条理的querySelectorAllquerySelector来代替getElementsByClassName
下面是一个例子:

document.querySelector(".button-one").addEventListener('click', function(ev) {
  console.log(this.innerText)
});

document.querySelectorAll(".button-two").forEach(function(elem) {
  elem.addEventListener('click', function(ev) {
    console.log(this.innerText)
  });
})
<button class="button-one">one</button>
<button class="button-two">two</button>
<button class="button-two">two again</button>

另一方面,有时候你可能会想做一个内联onclick,特别是当你从服务器回显html的时候。在这种情况下,它会工作,但仍然不建议。

相关问题