FormSubmit.co表单邮箱验证异常:重定向问题及解决方案咨询
问题描述
用户在https://www.va.gov/homeless/landlords.asp页面填写联系表单时,若输入的邮箱格式无效,页面会重定向至www.va.gov,而非返回原表单页面https://www.va.gov/homeless/landlords.asp。现需修改为重定向回表单页,或了解是否可绕过无效邮箱验证,当前表单代码如下:
<header> <h3 id="contact-us" style="text-align: left;">Contact Us</h3> </header> <div style="text-align: center;" id="multipart/form-data"><form action="https://formsubmit.co/HomelessVets@va.gov" method="POST"><input name="_captcha" type="hidden" value="false" /> <input name="_subject" type="hidden" value="New landlord submission!" /> <input name="_next" type="hidden" value="https://www.va.gov/homeless/landlord_thank_you_page.asp" /> <div style="text-align: left;" class="formgroup" id="name-form"><label for="name">Your Name*</label></div> <div style="text-align: left;"><textarea id="name" cols="80" name="name" required="" rows="1.5"></textarea></div> <div style="text-align: left;" class="formgroup" id="email-form"><label for="email">Your E-mail*</label></div> <div style="text-align: left;"><textarea id="email" cols="80" name="email" required="" rows="1.5" placeholder="username@email.com"></textarea></div> <div style="text-align: left;" class="formgroup" id="number-form"><label for="phone">Phone Number</label></div> <div style="text-align: left;"><textarea id="phone" cols="80" name="phone" rows="1.5"></textarea></div> <div style="text-align: left;" class="formgroup" id="website-form"><label for="website">Website</label></div> <div style="text-align: left;"><textarea id="website" cols="80" name="website" rows="1.5"></textarea></div> <div style="text-align: left;" class="formgroup" id="location-form"><label for="location">Location (City and State)*</label></div> <div style="text-align: left;"><textarea id="location" cols="80" name="location" required="" rows="1.5"></textarea></div> <div style="text-align: left;" class="formgroup" id="description-form"><label for="description">Description of Housing Available</label></div> <div style="text-align: left;"><textarea id="description" cols="80" name="description" rows="5"></textarea></div> <div style="text-align: left;" class="formgroup" id="requested-information-form"><label for="requested-information-form">Information Requested</label></div> <div style="text-align: left;"><textarea id="requested-information-form" cols="80" name="requested-information-form" rows="5"></textarea></div> <div style="text-align: left;" class="container"><a><button class="btn btn-primary btn-lg">Submit</button></a></div> </form></div> </div> </div>
解决方案
1. 错误时重定向回原表单页
formsubmit.co提供了_error隐藏参数,用于指定表单验证失败后的跳转地址。只需在现有隐藏字段后添加以下代码:
<input name="_error" type="hidden" value="https://www.va.gov/homeless/landlords.asp" />
添加后,当邮箱格式验证失败时,页面会自动跳回原表单页面,而非va.gov主页。
2. 前端提前验证邮箱格式(优化用户体验)
当前表单使用<textarea>作为邮箱输入框,不符合标准用法。建议替换为<input type="email">,这样浏览器会在用户提交前就进行格式校验,避免不必要的跳转:
<!-- 替换原邮箱输入的textarea --> <div style="text-align: left;"> <input id="email" type="email" name="email" required="" placeholder="username@email.com" style="width: 100%; padding: 8px; box-sizing: border-box;" /> </div>
3. 绕过邮箱验证(不推荐)
formsubmit.co默认强制验证邮箱格式,目前没有官方参数直接关闭该验证。若要尝试绕过,可移除邮箱字段的required属性,但这会导致用户可能不填写邮箱,影响后续联系,因此不建议这么做。
内容的提问来源于stack exchange,提问作者Jessica Walcott
相关产品推荐
相关产品推荐

