无法在 Wordpress 中通过 JavaScript 动态提交表单

Can't submit a form dynamically via JavaScript in Wordpress

提问人:Fr Simon 提问时间:4/19/2023 更新时间:4/19/2023 访问量:75

问:

我正在研究 Wordpress 插件的后端设置,并认为我会构建一个简单的表格,以便在插件的自定义选项菜单中编辑数据。

如果您正在查看屏幕截图并想知道,这是有关前几年去世的亲人周年纪念日的数据,在教会中被称为“一年的头脑”。没有什么险恶的,我向你保证!

PHP 是

$html .= "<form name='updateRow_". $post->ID ." method='post' action='includes/yearsmind-update.php'>";
              $html .= "<input type='hidden' name='ID' value='" . $post->ID . "'>";
              $html .= "<input type='hidden' name='firstName' value='" . $post->firstName . "'>";
              $html .= "<input type='hidden' name='middleName' value='" . $post->middleName . "'>";
              $html .= "<input type='hidden' name='lastName' value='" . $post->lastName . "'>";
              $html .= "<input type='hidden' name='fullDate' value='" . $post->fullDate . "'></form>";

按钮是:

<button type='button' onclick='document.updateRow_".$post->ID.".submit()')>Update</button>

$html字符串很好地写到后端,当我点击更新按钮时,我可以拿起 javascript 函数并显示传递的 $post->ID

根据需要提供后端输出

但是,我似乎无法以编程方式提交指定的表单。submit 方法引发错误:

Uncaught TypeError: Cannot read properties of undefined (reading 'submit')

我尝试通过表单 ID 传递对表单的引用,该表单通过 JavaScript 函数并显示传递的引用,很好,但由于该按钮只能在表单完全加载后单击,因此似乎没有任何事件有任何区别。document.addEventListener('DOMContentLoaded', () => {

我试图通过将提交代码编程到表单中来简化它,但它仍然抛出一个错误!

将表单提交到 PHP 文件后,我计划构建 UPDATE sql 并执行它,但我只想先发布数据!

我敢打赌解决方案是显而易见的,但如果没有您的慷慨帮助,我无法制定解决方案......谢谢。

JavaScript PHP WordPress DOM 插件

评论

1赞 James 4/20/2023
它应该提交的表单中的按钮吗?如果是这样,则不需要任何 javascript,因为表单中按钮的默认操作是提交该表单。
0赞 ponury-kostek 4/20/2023
document.querySelector('#updateRow_".$post->ID."').submit()
0赞 Chris Haas 4/20/2023
我只想抛出另一个选项,将您的 HTML 和 JavaScript 完全分开。“以某种方式”标记你的 HTML,然后编写一些 JS 来寻找这些标签并做“某事”。在此示例中,我以与你类似的方式为窗体和按钮标记提供了标记,只是使用数据属性,这些属性可以是你想要的任何属性。然后在纯 JS 中,我正在寻找这些标签并绑定事件。 没有错,但你的空间真的很有限,被迫处理逃跑之类的事情。onclick

答: 暂无答案