您好,我正在为我一直在处理的页面完成一个网站。我添加了一个 HTML 表单,允许用户/读者在那里输入“全名”、“电子邮件”和“消息”。我通过“API”导入将我的表单连接到“谷歌表”并将其附加到我的 JS 代码中。单击“发送消息”按钮后,如果输入已成功发送,则会弹出“警报”选项卡并显示成功发送的消息字符串。
然而,我一直在与我的网页不同的页面上只得到一个 JSON。看起来像的东西
<块引用>{"result":"success","row":14}
然后我检查了我的 JavaScript,虽然我不知道如何修复它,但我意识到出了点问题。这是 JavaScript
form.addEventListener('submit', e => {
e.preventDefault()
fetch(scriptURL, { method: 'POST', body: new FormData(Form) })
.then(Response => alert("You have successfully submitted"))
.catch(error => console.error("Error!", error.message))
})
这里的问题是“响应”已声明但未读取。如何解决这个问题?
答案 0 :(得分:0)
大家好,我找到了问题所在。我没有在我的 HTML 页面中正确引用“JavaScript”,我还更改了电子表格的名称,该名称未应用于我的表单
const form = document.forms['my-sheet']
所以当我从表单中获取我的 scriptURL 时,它映射到一个未知的表单。还要注意的是,我仅以“警报”为例来显示单击按钮时的某种反馈。我没有在项目的最终草案中使用“警报”功能。这是修正后的脚本的样子
<form name="your-sheet" id="contact" action="purchase.html" method="POST" autocomplete="off" target="_blank">
const scriptURL = 'https://somerandomurl/google.com/morerandominfo/exec'
const form = document.forms['your-sheet']
form.addEventListener('submit', e=> {
e.preventDefault()
fetch(scriptURL, {
method: 'POST'
body: new FormData(form)})
.then(response => alert("Successfuly submitted!"))
.catch(error => console.error('Error!', error.message))})
如果我的格式混乱仍然试图理解如何格式化,也很抱歉。 'Crtl+k' 只是将灰色标签放入,而 6 次仰泳也没有任何作用。