如何让form 表单提交数据后,页面不跳转不刷新?(已解决)

本文介绍了一种防止表单提交后页面跳转或刷新的方法,即利用iframe作为数据提交的目标。通过创建隐藏的iframe,将form的target属性设置为iframe的name,点击提交按钮时,数据会提交到iframe内,保持页面状态不变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:
需要一个iframe标签做替罪羊,form点击提交后数据提交到iframe里面,当什么都没发生一样,先把写好的iframe标签隐藏起来,给form绑定属性target为和iframe的name一模一样的值,当点击button进行提交后,就会提交到iframe框里面,这样就不会重新打开一个新页面且成功提交数据

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        iframe{
            display: none;
        }
    </style>
</head>

<body>
    <iframe src="" frameborder="0" name="iframeName"></iframe>
    <form action=" " target="iframeName">
        用户名: <input type="text" placeholder="请输入用户名">
        <button>提交</button>&nbsp;<button type="reset">重置</button>
    </form>
    <script>
        document.querySelector('button').onclick=()=>{
            console.log("已经成功提交"+document.querySelector('input').value);
        }
    </script>
</body>
</html>

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值