Javascript 未捕获的TypeError:FormData构造函数:参数1未实现接口HTMLFormElement

Javascript 未捕获的TypeError:FormData构造函数:参数1未实现接口HTMLFormElement,javascript,html,Javascript,Html,我为一个表单创建了一个事件侦听器,该表单应该在提交表单数据时将所有者的姓名添加到我在HTML中创建的下拉列表中。当我提交表单数据时,我会得到一个“未捕获的TypeError:FormData构造函数:参数1未实现接口HTMLFormElement” 就我目前的代码而言 <form id = "owner_form"> <div> <label for='name'>Owner Name:<

我为一个表单创建了一个事件侦听器,该表单应该在提交表单数据时将所有者的姓名添加到我在HTML中创建的下拉列表中。当我提交表单数据时,我会得到一个“未捕获的TypeError:FormData构造函数:参数1未实现接口HTMLFormElement”

就我目前的代码而言

      <form id = "owner_form">
        <div>
          <label for='name'>Owner Name:</label>
          <input type='text' id='name' name='name' placeholder="John Doe" required/>
        </div>
        <div>
          <label for='phone_number'>Phone Number:</label>
          <input type='text' id='phone_number' name='phone_number' placeholder="John Doe" required/>
        </div>
        <div>
          <label for='real_estate_agent'>Listing Agent:</label>
          <input type='text' id='real_estate_agent' name='real_estate_agent' placeholder="John Doe" required/>
        </div>
        <div>
          <input type='submit' id='owner_submit' value='Submit'/>
        </div>
      </form>


const ownerForm = document.getElementById('owner_form')
const ownerBtn = document.getElementById('owner_submit')

ownerBtn.addEventListener('click',()=>{
  ownerForm.addEventListener('submit', (event)=>{
    event.preventDefault()
    let formData = new FormData(this)
    fetch(OWNERS_URL,{
      method: 'POST',
      header: {
        'Content-Type': 'application/json',
          "Accept": "application/json"
      },
      body: JSON.stringify(formData)
    }).then(resp => resp.json()).then((owner_data) => {
      dropdown.add(owner_data.name)
    })
  })
})

业主名称:
电话号码:
上市代理:
const ownePerform=document.getElementById('owner\u form')
const ownerBtn=document.getElementById('owner\u submit')
ownerBtn.addEventListener('单击',()=>{
ownerForm.addEventListener('submit',(事件)=>{
event.preventDefault()
设formData=新formData(此)
获取(用户地址){
方法:“POST”,
标题:{
“内容类型”:“应用程序/json”,
“接受”:“应用程序/json”
},
正文:JSON.stringify(formData)
})。然后(resp=>resp.json())。然后((所有者数据)=>{
添加(所有者\u数据.name)
})
})
})

我需要一些帮助来确定我为什么会收到我前面提到的错误消息,以及在这种情况下如何解决它。

箭头函数没有明确的
。在显示的代码中,此可能是
窗口
,如果不是,则肯定不是您所期望的表单元素
让formData=new formData(ownerForm)
应该可以工作。或者用替换
,我不明白为什么要用
按钮上的
单击
来包装
提交
处理程序。。。这看起来太过分了。我使用了你们建议的小修改,现在我收到了这样一条消息:“未捕获(承诺中)TypeError:HTMLSelectElement.add:参数1无法转换为任何:HTMLOptionElement,HTMLOptGroupElement。”