JavaScript“警报”不会弹出我的成功消息

时间:2021-05-07 02:14:22

标签: javascript html forms alert

您好,我正在为我一直在处理的页面完成一个网站。我添加了一个 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))
})

这里的问题是“响应”已声明但未读取。如何解决这个问题?

1 个答案:

答案 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 次仰泳也没有任何作用。

相关问题