我正在尝试制作待办事项列表应用程序。我使用append()
函数
HTML
<!DOCTYPE HTML>
<html>
<title>ToDo</title>
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<h2>TO DO LIST</h2>
</head>
<form name = "taskForm">
Task: <input type = "text" name = "task" >
<input type = "submit" id = "submit" value = "ADD">
</form>
<ul class = "list">
<li class = "item"></li>
</ul>
</html>
SCRIPT
$(document).ready(function(){
$('input#submit').click(function(){
var newTask = $('input[name=task]').val();
$('.list').append('<li class = "item"' + newTask + '</li>');
});
});
当我点击“提交”按钮时,我看到新项目在屏幕上闪烁一秒钟,然后自行消失。
为什么我目睹了这种行为?
答案 0 :(得分:6)
这是因为您提交的是表单。 提交表单后,页面会自动开始重定向。
要保留行为,return false
以阻止提交表单
$(document).ready(function(){
$('input#submit').click(function(){
var newTask = $('input[name=task]').val();
$('.list').append('<li class = "item"' + newTask + '</li>');
return false;
});
});
请注意,这样您就可以看到更改仍然存在。但是,根据您的需要,如果您希望提交表单,则可能需要重新安排流程,同时保留附加的更改。这可以通过$.ajax()提交来完成。
答案 1 :(得分:1)
按下按钮提交后,页面将再次加载。
变化
<input type = "submit" id = "submit" value = "ADD">
带
<input type = "button" id = "submit" value = "ADD">
答案 2 :(得分:0)
这是一个可执行的示例,代码中修复了一些错误:
HTML:
<form name = "taskForm">
Task: <input type = "text" name = "task" >
<input type = "button" id = "submit" value = "ADD">
</form>
<ul class = "list">
<li class = "item"></li>
</ul>
JS:
$(document).ready(function(){
$('input#submit').click(function(){
var newTask = $($('input[name="task"]')[0]).val();
console.log(newTask)
$('.list').append('<li class = "item">' + newTask + '</li>');
});
});