HTML 表单在提交时重置

Posted

技术标签:

【中文标题】HTML 表单在提交时重置【英文标题】:HTML Form Resets on Submit 【发布时间】:2012-06-07 09:57:45 【问题描述】:

我有一个超过 500,000 人使用的网站,但少数人(大约 20 人)报告说点击“提交”时其中一个表单会重置。

我已经去掉了其他代码,但是 FORM 标签中的 html 是完整的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<body>
<form id="fProfile" action="/cv.html" method="post" enctype="multipart/form-data">
    <div class="row"><label for="fName">Your Name:</label><input type="text" id="fName" name="text" /></div>
    <div class="row"><label for="fEmail">Your Email:</label><input type="text" id="fEmail" name="email" /></div>
    <div class="row"><label for="fCvFile">Your CV:</label><input type="file" id="fCvFile" name="cv" /><em>Please only attach a CV, up to 200kb in size.</em></div>
    <input type="submit" class="submit" name="go" value="Save CV" />
</form>
</body>
</html>

不涉及 javascript,表单再简单不过了!

反馈有限,但据报道这发生在 MSIE/Chrome/Firefox 上。必须是第三方软件中断了表格,但报告来自装有 McAfee/AVG/Avast 的计算机。除了 HTML,我找不到一个共同的因素......

所有报告都说表单在单击提交“保存简历”按钮时会重置,而没有尝试加载页面,但我无法复制。

我从来没有遇到过这样的事情,希望你们中的一个人遇到过!

感谢您的帮助或指导。

编辑:我还添加了一个姓名/电子邮件输入表单,以表明它只是正在重置的 type=file 输入。表单的其余部分保留输入的文本。

【问题讨论】:

您好,我仍然收到此错误报告。它在不尝试上传的情况下大胆地重置表单。由于表单中没有 JavaScript,我认为它一定是 AV 软件(客户端还有什么?)阻止上传。上传的文档是一份简历(标签/输入标签如此)- AV 可以检测到这一点并阻止上传吗?我没有听说过 AV 会阻止上传,但这可能是 HIPS/数据保护的一部分...? 【参考方案1】:

它表示您正在发布到 HTML 页面 - 您肯定需要发布到 php 页面或类似页面。

所以基本上当您点击提交时,页面只是令人耳目一新。同样在您的 HTML 页面中,您应该始终有一个 head 标签。

【讨论】:

HTML 是 PHP 通过 htaccess 生成的。报告说页面没有加载/刷新/重新加载;它会立即重置/擦除表单。

以上是关于HTML 表单在提交时重置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ANGULAR 2 中提交表单时重置表单验证

提交后重置表单[重复]

提交后重置 HTML 表单

表单提交后如何阻止变量重置?

form表单reset重置按钮

每次单击按钮时都在提交表单