Javascript 将信息从表单传递到函数
我是react和js新手,我想创建一个包含一些可修改信息的编辑表单,这些信息可以稍后使用Axios发布到API。问题是,当我点击我的提交按钮时,我没有输入我的函数,我不知道我的表单信息是否正确地传递给我的编辑函数Javascript 将信息从表单传递到函数,javascript,reactjs,react-functional-component,Javascript,Reactjs,React Functional Component,我是react和js新手,我想创建一个包含一些可修改信息的编辑表单,这些信息可以稍后使用Axios发布到API。问题是,当我点击我的提交按钮时,我没有输入我的函数,我不知道我的表单信息是否正确地传递给我的编辑函数 function EditJob (jobid, event) { console.log('editjob fired 1') console.log(jobid) const updateJob = { title: event.target.jobtitle
function EditJob (jobid, event) {
console.log('editjob fired 1')
console.log(jobid)
const updateJob = {
title: event.target.jobtitle.value,
company_name: event.target.companyname.value,
internal_code: event.target.internalcode.value,
department: event.target.department.value,
location: event.target.jlocation.value,
tags: event.target.tags.value,
benefits: event.target.benefits.value,
description: event.target.description.value,
requirements: event.target.requirements.value
}
return axios({
method: 'put',
url: '/api/jobs/update-job/' + jobid,
headers: headers,
data: updateJob
})
}
updateJob常量应该保存使用event.target从表单发送的信息,但我认为我做错了什么,因为我甚至没有输入函数,当我单击submit按钮时,我的页面只是刷新。正确的解决方案是什么?表单的默认行为是在单击提交按钮时触发重新加载。可以通过在onSubmit方法中使用event.preventDefault来防止这种行为
<Form onSubmit = {async (event) => {
event.preventDefault();
await EditJob(job.id);
editJob()
}}>
我现在得到一个事件是未定义的错误,但是为什么?您是否在onSubmit={async event=>{update:我从编辑作业中删除了事件,它被修复了,因为您的EditJob函数没有传递事件。请原谅另一个问题:我的服务器返回了400个错误,因为标记:Array[需要项目列表,但得到类型\str\。]
<Form onSubmit = {async (event) => {
event.preventDefault();
await EditJob(job.id);
editJob()
}}>