附件李在提交表格后消失
Appended li disappears after submit form
我正在使用jquery制作一个todo列表。我在提交表格时遇到问题,附件李立即出现并消失。有人能帮我吗?
这是我迄今为止的Jquery代码:
$(function(){
$('input:checkbox').click(function(){
if ($(this).is(':checked')) {
$(this).parent().addClass('completed');
}
else {
$(this).parent().removeClass('completed');
}
});
$('#clearComp').click(function(){
$('.completed').fadeOut();
});
$('#todo_from').submit( function(e) {
e.preventDefault();
return false;
});
});
function addTodo(){
var itemToAdd = $('#txtBox').val();
if ( itemToAdd ) {
$('#todoList').append('<li class="todoBlk"><input type="checkbox" class"checkbox">'+itemToAdd+'</li>');
}
$('#txtBox').val('').focus();
}
JS Bin
这是因为在按下Enter键时,表单会自行提交并强制刷新页面。因此,您应该使用.preventDefault()
来防止这种情况发生:
$('form').on('submit', function(e) {
var itemToAdd = $('#txtBox').val();
if ( itemToAdd ) {
$('#todoList').append('<li class="todoBlk"><input type="checkbox" class"checkbox">'+itemToAdd+'</li>');
}
$('#txtBox').val('').focus();
e.preventDefault();
});
此代码还允许您删除onsubmit
属性的内联JS。
更新:我还注意到您的示例中的一个问题是,您的按钮无法清除动态添加的选中项目。这是因为当首次在页面上执行jQuery时,click
侦听器仅绑定到预先存在的元素。请考虑使用.on()
将单击事件绑定到动态添加的列表项。以下是固定版本:http://jsbin.com/hiyuqikura/1/edit?html,js,输出
$(function(){
// On submit, prevent default form action and add item if input is not empty
$('form').on('submit', function(e) {
var itemToAdd = $('#txtBox').val();
if ( itemToAdd ) {
$('#todoList').append('<li class="todoBlk"><input type="checkbox" class="checkbox">'+itemToAdd+'</li>');
}
$('#txtBox').val('').focus();
e.preventDefault();
});
// Listen to click event on dynamically added elements
$(document).on('click', 'input.checkbox', function(){
if ($(this).is(':checked')) {
$(this).parent().addClass('completed');
}
else {
$(this).parent().removeClass('completed');
}
});
$('#clearComp').click(function(){
$('.completed').fadeOut();
});
});
注释掉$('#todo_from').submit()函数并将表单标记更改为此
<form id="todo_form" onsubmit="addTodo(); return false;">
此处的id $('#todo_from').submit
错误。应为#todo_form
相关文章:
- 我应该使用Ng提交还是点击表格
- CSS表格:从列平移到整个表格宽度
- facebook”;添加评论“;popup获胜'不要消失
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 为什么js事件消失了
- JS文件的路径正在消失
- 滚动和表格
- 将谷歌自动完成地址信息放在页面上,而不是表格中
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- Google电子表格getValue([cell containing ])不返回制表符
- 打印预览没有应用程序页眉和页脚的html表格
- 区分电子表格中的空单元格和0值
- Morris.js折线图x轴标签在调整大小后消失
- 使用外部数据创建仪表板(谷歌电子表格)-JavaScript
- 量角器:读取表格内容
- 没有冲突使我的表格消失了
- 附件李在提交表格后消失
- 如何提交一份特定的表格,而不让两者的内容都消失
- 当我提交表格时,我输入的所有值都消失了