javascript - jQuery 执行 PHP 文件并添加/删除类
问题描述
我正在尝试为我的网站创建一个投票脚本,我有以下 php
<?php
echo "<form id=\"$id\" action=\"javascript:updateId()\">";
echo "<input type=\"hidden\" name=\"$id\" value=\"1\">";
echo "<button type=\"submit\" value=\"submit\" class=\"far fa-heart\"></button>";
echo "</form>";
?>
$id是 sql 查询的结果,所以我有 50 个具有唯一 $id 的表单
并尝试使用以下内容运行 vote.php
<script>
function updateId()
{
const form = document.getElementById('#' + id);
const data = new FormData();
data.append('name', form.name.value);
fetch('./vote.php', {method: 'POST', body: data}).then(response => {
if (!response.ok){
throw new Error('Network response was not ok.');
}
}).catch(err => console.log(err));
}
</script>
任何帮助都会非常有用
解决方案
最好id
将updateId()
. 还有几个错误:
getElementById
不使用#
;- 如果要访问某个表单元素,则需要按名称值本身访问 if ,即应该是
name="name"
; 可能你想要那里id
的值,但如果你将它作为参数传递,那么这个隐藏字段就不需要了。但是,我将其保留原样,因为我不确定您实际上需要什么价值。
<?php
echo "<form id=\"$id\" action=\"javascript:updateId($id)\">";
echo "<input type=\"hidden\" name=\"name\" value=\"1\">";
echo "<button type=\"submit\" value=\"submit\">Submit</button>";
echo "</form>";
?>
<script>
function updateId(id) {
const form = document.getElementById(id);
const data = new FormData();
data.append('name', form.name.value);
fetch('./vote.php', {method: 'POST', body: data}).then(response => {
if (!response.ok) {
throw new Error('Network response was not ok.');
}
}).catch(err => console.log(err));
}
</script>
推荐阅读
- python - `pip-cache/pip/html` 中的文件格式是什么?
- c++ - 值和类型的简明双向静态 1:1 映射
- bash - 运行带有未知数量参数的 C 程序
- c# - 如何读取pdf文件并将其加载到sql server(pdf是图像)
- matlab - 在 Matlab 中执行割线方法时没有得到结果
- sapui5 - SAPUI5 - 如何从详细视图中获取扩展上下文
- kotlin-coroutines - 如何以非阻塞方式获取公钥
- javascript - 如何使用 react 和 node.js express 进行身份验证
- grep - grep:将否定匹配与After组合(搜索不包含单词片段的蛋白质序列)
- wordpress - 如何在 WooCommerce 产品中添加自定义字段