【发布时间】:2016-04-15 11:42:27
【问题描述】:
我有一个表单,我想在每次输入提交(加号)按钮时清除输入字段。
我试过用这个,它不起作用。我可能在错误的地方实施它。
document.getElementById('add-item').value='';
我的 Javascript 代码如下。
window.addEventListener('load', function(){
// Add event listeners
document.getElementById('add-item').addEventListener('click', addItem, false);
document.querySelector('.todo-list').addEventListener('click', toggleCompleted, false);
document.querySelector('.todo-list').addEventListener('click', removeItem, false);
function toggleCompleted(event) {
console.log('=' + event.target.className);
if(event.target.className.indexOf('todo-item') < 0) {
return;
}
console.log(event.target.className.indexOf('completed'));
if(event.target.className.indexOf('completed') > -1) {
console.log(' ' + event.target.className);
event.target.className = event.target.className.replace(' completed', '');
document.getElementById('add-item').value='';
} else {
console.log('-' + event.target.className);
event.target.className += ' completed';
}
}
function addItem() {
var list = document.querySelector('ul.todo-list');
var newItem = document.getElementById('new-item-text').value;
var newListItem = document.createElement('li');
newListItem.className = 'todo-item';
newListItem.innerHTML = newItem + '<span class="remove"></span>';
list.insertBefore(newListItem, document.querySelector('.todo-new'));
}
function removeItem(event) {
if(event.target.className.indexOf('remove') < 0) {
return;
}
var el = event.target.parentNode;
el.parentNode.removeChild(el);
}
});
【问题讨论】:
-
您是否只想清除具有 'add-item' id 的元素?
-
@JF-Mechs 是的,我想删除可以添加项目的输入字段。
-
将 autocomplete="off" 添加到您的表单标签也可能很有用
标签: javascript