
本文旨在解决使用 jQuery 动态向 HTML 列表 ( `
在使用 jQuery 向 HTML 列表动态添加列表项时,一个常见的问题是点击按钮后页面会刷新,导致新添加的列表项消失。这通常是由于按钮位于 <form> 元素中,并且按钮的 type 属性为 submit,导致点击按钮触发了表单的提交行为。表单提交会默认刷新页面,因此新添加的列表项在刷新后会丢失。
要解决这个问题,我们需要阻止表单的默认提交行为。可以通过以下两种方法实现:
将事件处理程序绑定到表单的 submit 事件:
这是推荐的方法,因为它允许用户仍然可以通过按下回车键来触发添加列表项的操作,提高了用户体验。
jQuery($ => {
$("form").on('submit', e => {
e.preventDefault(); // 阻止表单默认提交行为
var needed = $("#bill").val();
$(".need").append(`<li>${needed}</li>`);
});
});代码解释:
修改按钮的 type 属性:
可以将按钮的 type 属性从 submit 修改为 button。这样,点击按钮就不会触发表单的提交行为。
<button type="button" class="btn btn-primary" id="needButton">Need</button>
注意: 这种方法会禁用通过回车键提交表单的功能。
以下是一个完整的示例代码,演示了如何使用 jQuery 动态添加列表项并避免页面刷新:
<!DOCTYPE html>
<html>
<head>
<title>动态添加列表项</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
</head>
<body>
<form>
<input type="text" id="bill" />
<button type="submit" class="btn btn-primary btn-success" id="haveButton">添加</button>
</form>
<div class="myNeed">
<ul class="need">
</ul>
</div>
<script>
jQuery($ => {
$("form").on('submit', e => {
e.preventDefault();
var needed = $("#bill").val();
$(".need").append(`<li>${needed}</li>`);
});
});
</script>
</body>
</html>使用方法:
通过将事件处理程序绑定到表单的 submit 事件,并使用 preventDefault() 方法,可以有效地阻止表单的默认提交行为,从而实现无刷新动态添加列表项的功能。这种方法不仅解决了页面刷新的问题,还提高了用户体验,允许用户通过点击按钮或按下回车键来添加列表项。 建议使用第一种方法,因为它保留了表单的默认行为,允许用户通过回车键提交表单。
以上就是使用 jQuery 动态添加列表项并避免页面刷新的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号