信息发布→ 登录 注册 退出

利用onsubmit事件实现表单提交后自动清空字段

发布时间:2025-10-30

点击量:

利用onsubmit事件实现表单提交后自动清空字段

本文详细介绍了如何在不刷新页面的前提下,利用HTML表单的`onsubmit`事件,在表单提交成功后自动清空所有输入字段。通过在`onsubmit`属性中执行`this.submit()`、`this.reset()`并返回`false`,可以有效解决使用隐藏`iframe`进行无跳转提交时,表单字段无法自动重置的问题,从而提升用户体验。

在Web开发中,我们经常需要实现表单提交后自动清空输入字段的功能,以便用户可以方便地进行下一次输入。尤其是在采用无页面跳转方式(例如通过隐藏的

问题场景分析

考虑以下常见的表单结构,其中使用一个隐藏的

<div class="limiter">
  <div class="container-login100" style="background-image: url('images/bg-01.jpg');">
    <div class="wrap-login100 p-l-55 p-r-55 p-t-65 p-b-54">
      <iframe name="votar" style="display:none;"></iframe>
      <form action="https://docs.google.com/forms/d/e/.../formResponse" target="votar">
        <span class="login100-form-title p-b-49">Make a comment.</span>
        <div class="wrap-input100 validate-input m-b-23" data-validate="Username is reauired">
          <input class="input100" type="text" name="entry.???" placeholder="Type something...">
        </div>
        <div class="container-login100-form-btn">
          <div class="wrap-login100-form-btn">
            <div class="login100-form-bgbtn"></div>
            <button class="login100-form-btn">submit</button>
          </div>
        </div>
      </form>
    </div>
  </div>
</div>

在这种设置下,当用户点击提交按钮后,表单数据会被发送到action指定的地址,并通过名为votar的

解决方案:利用onsubmit事件

解决这个问题的关键在于利用HTML表单的onsubmit事件。onsubmit事件在表单即将提交时触发,允许我们在实际提交发生之前执行J*aScript代码。通过巧妙地组合this.submit()、this.reset()和return false;,我们可以实现提交后自动清空字段的目的。

科威旅游管理系统 科威旅游管理系统

该软件是以php+MySQL进行开发的旅游管理网站系统。系统前端采用可视化布局,能自动适应不同尺寸屏幕,一起建站,不同设备使用,免去兼容性烦恼。系统提供列表、表格、地图三种列表显示方式,让用户以最快的速度找到所需行程,大幅提高效率。系统可设置推荐、优惠行程,可将相应行程高亮显示,对重点行程有效推广,可实现网站盈利。系统支持中文、英文,您还可以在后台添加新的语言,关键字单独列出,在后台即可快速翻译。

科威旅游管理系统 0 查看详情 科威旅游管理系统

修改后的表单代码如下:

<div class="limiter">
  <div class="container-login100" style="background-image: url('images/bg-01.jpg');">
    <div class="wrap-login100 p-l-55 p-r-55 p-t-65 p-b-54">
      <iframe name="votar" style="display:none;"></iframe>
      <form action="https://docs.google.com/forms/d/e/.../formResponse" target="votar" onsubmit='this.submit();this.reset();return false;'>
        <span class="login100-form-title p-b-49">Make a comment.</span>
        <div class="wrap-input100 validate-input m-b-23" data-validate="Username is reauired">
          <input class="input100" type="text" name="entry.???" placeholder="Type something...">
        </div>
        <div class="container-login100-form-btn">
          <div class="wrap-login100-form-btn">
            <div class="login100-form-bgbtn"></div>
            <button class="login100-form-btn">submit</button>
          </div>
        </div>
      </form>
    </div>
  </div>
</div>

在上述代码中,我们在

标签中添加了onsubmit='this.submit();this.reset();return false;'。这行J*aScript代码的执行逻辑如下:
  1. this.submit();: 这行代码会程序化地触发当前表单的提交。由于表单设置了target="votar",提交操作会定向到隐藏的
  2. this.reset();: 紧接着,这行代码会调用表单的reset()方法。reset()方法的作用是将其所有可重置的输入控件(如,
  3. return false;: 这是至关重要的一步。当onsubmit事件处理函数返回false时,它会阻止浏览器执行表单的默认提交行为。如果没有return false;,浏览器可能会尝试再次提交表单(在this.submit()之后),这可能导致重复提交或意外的页面行为。通过返回false,我们确保了表单只通过this.submit()被程序化地提交一次,并且提交后不会有其他副作用。

注意事项与最佳实践

  • return false;的重要性: 务必包含return false;以防止双重提交和不必要的页面导航。
  • 兼容性: onsubmit事件和form.submit()、form.reset()方法在现代浏览器中都具有良好的兼容性。
  • 用户反馈: 虽然表单字段被清空了,但用户可能不清楚提交是否成功。在实际应用中,建议在表单提交成功后,通过J*aScript(例如在
  • AJAX替代方案: 对于更复杂的交互和更好的用户体验,通常推荐使用AJAX(Asynchronous J*aScript and XML)来提交表单。在使用AJAX提交时,您可以在AJAX请求的成功回调函数中手动清空表单字段,例如:
    document.getElementById('myForm').addEventListener('submit', function(event) {
        event.preventDefault(); // 阻止默认表单提交
        // 使用Fetch API或XMLHttpRequest发送表单数据
        fetch(this.action, {
            method: this.method,
            body: new FormData(this)
        })
        .then(response => response.text())
        .then(data => {
            console.log('Success:', data);
            this.reset(); // 提交成功后清空表单
            // 显示成功消息
        })
        .catch(error => {
            console.error('Error:', error);
            // 显示错误消息
        });
    });

    然而,对于简单的无刷新提交且不希望引入复杂AJAX逻辑的场景,onsubmit结合

总结

通过在HTML表单的onsubmit事件中添加this.submit();this.reset();return false;这行简单的J*aScript代码,我们可以优雅地解决在使用隐藏

以上就是利用onsubmit事件实现表单提交后自动清空字段的详细内容,更多请关注其它相关文章!


相关文章: vivo手机参数配置怎么增强信号_vivo手机参数配置信号增强方法  2306选座时如何选靠窗位置_12306选座靠窗座位查看方法解析  TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程  处理Kafka消费者会话超时:深入理解消息处理语义与幂等性  Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】  C++如何解决segmentation fault_C++段错误调试与原因分析  PHP文件上传至S3:策略、考量与避免本地存储的挑战  小米汽车11月交付量突破40000台!雷军:将继续努力  Go Martini框架:动态服务解码后的图片内容  Go语言实现持久化与原子性文件存储的教程  厨房不锈钢水槽发黑生锈怎么处理_水槽用可乐+锡纸2分钟抛亮如新  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  Sublime Text怎么设置垂直标尺_Sublime配置Rulers规范代码长度  Lar*el表单中优雅地处理“返回”按钮以规避验证:最佳实践指南  在WordPress中通过REST API访问受BasicAuth保护的站点内容  MongoDB聚合管道:正确匹配对象数组中_id的方法  Steam官网入口直达 Steam注册及登录步骤  苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】  ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  PHP表单隐藏域数据传递:常见问题与最佳实践  word邮件合并后日期格式不对怎么改_Word邮件合并日期格式修改方法  Django模型中自动计算可用余额的实现方法  lar*el怎么安全地存储和获取配置文件中的敏感信息_lar*el敏感信息安全存储方法  Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】  高德地图公交到站提醒失败如何解决 高德提醒权限设置  邮政快递包裹最新位置 邮政快递实时追踪入口  学习通网页版官方登录 超星学习通电脑端入口指南  在J*a中如何使用Exception包装底层异常_异常包装与信息传递方法说明  jQuery Mask 插件中实现电话号码固定前导零的教程  妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画  文心一言怎样用插件调度API数据_文心一言用插件调度API数据【API调用】  漫蛙漫画官方首页 漫蛙2漫画在线阅读入口  怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】  mysql如何设置表访问权限_mysql表访问权限配置  俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口  冬*霸灯泡不亮怎么办_浴霸取暖灯一盏不亮的灯座清洁修复法  Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录  PPT平滑切换怎么做 PPT炫酷“平滑”切换动画制作教程【必学】  192.168.1.1管理中心入口 192.168.1.1路由器网页设置平台  高德地图家和公司地址在哪设置 高德地图通勤路线设置方法【超详细】  qq游戏免费畅玩入口_qq游戏电脑版快速启动  vivo云服务网页版登录 怎么登录vivo云服务网页版  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  快手网页版在线登录 快手网页版官网入口快速访问  使用PHP DOM解析器高效提取HTML中特定标题及其紧邻段落  怎么在mac上运行html代码_mac运行html代码方法【指南】  在VS Code中配置和运行Dart程序的完整步骤  J*aScript中高效清空DOM列表元素:解决for循环中断与任务管理问题  AO3官方在线访问地址 Archive of Our Own最新镜像合集 

在线客服
服务热线

服务热线

4008988990

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!