在 React 中将表单提交到 Google 表单时出现错误 400
Getting error 400 when submitting form to Google Forms in React
我的网站上有一个表格,其中的内容将保存到 google 个表格中。今天早些时候它工作,但突然我在提交时出现错误(错误代码400)。我不知道为什么会这样。它在 1 小时前工作。也没有更改表单中的任何代码。我删除了最后一次成功提交和第一个错误之间的回复。这可能是错误的原因吗?感谢所有帮助
const handleFormSubmit = () => {
setSubmitted(true)
setName('')
setEmail('')
setAge('')
}
const onIframeLoad = () => {
if (submitted === true) {
history.push("/bli-medlem")
}
}
<form onSubmit={handleFormSubmit} method="POST" target="hidden_iframe" action="https://docs.google.com/forms/d/18TBcc5oK0i0IEkMWJmRnljzaPSx8AjNR9Rseo8OkgKw">
<ul className="form">
<li className="form-element">
<label htmlFor="entry.2026036521">Namn</label>
<input
className="text-input"
name="entry.2026036521"
type="text"
value={name}
onChange={e => setName(e.target.value)}
required={true}
/>
</li>
<li className="form-element">
<label htmlFor="entry.2122300620">E-post</label>
<input
className="text-input"
name="entry.2122300620"
type="email"
value={email}
onChange={e => setEmail(e.target.value)}
required={true}
/>
</li>
<li className="form-element dropdown">
<label htmlFor="entry.1689165674">Alder</label>
<select name="entry.1689165674" value={age} onChange={e => setAge(e.target.value)}>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
</select>
</li>
<li className="form-element">
<label htmlFor="training-choice">Vil du vera med på organiserte treningar i nokre av spela med tilbyr?</label>
<div className="choice">
<p>Ja</p>
<input
name="entry.737229839"
type="radio"
value="Ja"
onChange={() => setValue("Ja")}
/>
</div>
<div className="choice">
<p>Nei</p>
<input
name="entry.737229839"
type="radio"
value="Nei"
onChange={() => setValue("Nei")}
/>
</div>
</li>
<label style={{fontSize: "24px", fontWeight: 'bold', marginTop: '40px'}} htmlFor="entry.1182933035">Kva for nokre spel?</label>
<li className="form-element-choice">
<p>Fortnite</p>
<input
name="entry.1182933035"
type="checkbox"
value="Fortnite"
/>
</li>
<li className="form-element-choice">
<p>Counter-Strike: Global Offensive</p>
<input
name="entry.1182933035"
type="checkbox"
value="Counter-Strike: Global Offensive"
/>
</li>
<li className="form-element-choice">
<p>Rocket League</p>
<input
name="entry.1182933035"
type="checkbox"
value="Rocket League"
/>
</li>
<li className="form-element">
<input className="submit-button" type="submit" value="Submit"/>
</li>
<iframe name="hidden_iframe" style={{display: "none"}} onLoad={onIframeLoad}></iframe>
</ul>
</form>
问题是我在提交完成之前将每个输入字段的状态设置为 ''
。我删除了
setName('')
setEmail('')
setAge('')
问题解决了。
我的网站上有一个表格,其中的内容将保存到 google 个表格中。今天早些时候它工作,但突然我在提交时出现错误(错误代码400)。我不知道为什么会这样。它在 1 小时前工作。也没有更改表单中的任何代码。我删除了最后一次成功提交和第一个错误之间的回复。这可能是错误的原因吗?感谢所有帮助
const handleFormSubmit = () => {
setSubmitted(true)
setName('')
setEmail('')
setAge('')
}
const onIframeLoad = () => {
if (submitted === true) {
history.push("/bli-medlem")
}
}
<form onSubmit={handleFormSubmit} method="POST" target="hidden_iframe" action="https://docs.google.com/forms/d/18TBcc5oK0i0IEkMWJmRnljzaPSx8AjNR9Rseo8OkgKw">
<ul className="form">
<li className="form-element">
<label htmlFor="entry.2026036521">Namn</label>
<input
className="text-input"
name="entry.2026036521"
type="text"
value={name}
onChange={e => setName(e.target.value)}
required={true}
/>
</li>
<li className="form-element">
<label htmlFor="entry.2122300620">E-post</label>
<input
className="text-input"
name="entry.2122300620"
type="email"
value={email}
onChange={e => setEmail(e.target.value)}
required={true}
/>
</li>
<li className="form-element dropdown">
<label htmlFor="entry.1689165674">Alder</label>
<select name="entry.1689165674" value={age} onChange={e => setAge(e.target.value)}>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
</select>
</li>
<li className="form-element">
<label htmlFor="training-choice">Vil du vera med på organiserte treningar i nokre av spela med tilbyr?</label>
<div className="choice">
<p>Ja</p>
<input
name="entry.737229839"
type="radio"
value="Ja"
onChange={() => setValue("Ja")}
/>
</div>
<div className="choice">
<p>Nei</p>
<input
name="entry.737229839"
type="radio"
value="Nei"
onChange={() => setValue("Nei")}
/>
</div>
</li>
<label style={{fontSize: "24px", fontWeight: 'bold', marginTop: '40px'}} htmlFor="entry.1182933035">Kva for nokre spel?</label>
<li className="form-element-choice">
<p>Fortnite</p>
<input
name="entry.1182933035"
type="checkbox"
value="Fortnite"
/>
</li>
<li className="form-element-choice">
<p>Counter-Strike: Global Offensive</p>
<input
name="entry.1182933035"
type="checkbox"
value="Counter-Strike: Global Offensive"
/>
</li>
<li className="form-element-choice">
<p>Rocket League</p>
<input
name="entry.1182933035"
type="checkbox"
value="Rocket League"
/>
</li>
<li className="form-element">
<input className="submit-button" type="submit" value="Submit"/>
</li>
<iframe name="hidden_iframe" style={{display: "none"}} onLoad={onIframeLoad}></iframe>
</ul>
</form>
问题是我在提交完成之前将每个输入字段的状态设置为 ''
。我删除了
setName('')
setEmail('')
setAge('')
问题解决了。