下面是我的代码:http://jsfiddle.net/H5bRH/
每次我点击submit按钮,它都会将我输入的内容插入到一个新的li项目中。
但不是这样,它会插入我第一次输入的内容,加上我输入的新值。使用我的jsfiddle来理解我的意思。
我如何解决这个问题,使其只添加用户输入到表单中的内容?
我假设这里有什么问题:
function saveTweet() {
var tweet = document.getElementById("tweet");
var tweetName = tweet.value;
var li = document.createElement("li");
li.innerHTML = tweetName;
var ul = document.getElementById("tweets");
ul.appendChild(li);
}
发布于 2013-12-09 18:58:50
您已将2个click
事件附加到save
按钮。
button.onclick = saveTweet;
$("#saveTweet").click(function ()
$("#saveTweet").click(function () {
var tweet = document.getElementById("tweet");
var tweetName = tweet.value;
var li = document.createElement("li");
li.innerHTML = tweetName;
var ul = document.getElementById("tweets");
ul.appendChild(li);
$("li").slideDown("fast");
});
发布于 2013-12-09 18:58:05
为什么不把所有的代码都简化为:
$("#saveTweet").click(function () {
$('#tweets').append('<li>' + $("#tweet").val() + '</li>')
$("li").slideDown("fast");
});
发布于 2013-12-09 18:58:24
将slideDown调用移动到saveTweet函数,而不是为#saveTweet按钮提供两个单击处理程序。
function saveTweet() {
var tweet = document.getElementById("tweet");
var tweetName = tweet.value;
var li = document.createElement("li");
li.innerHTML = tweetName;
var ul = document.getElementById("tweets");
ul.appendChild(li);
$("li").slideDown("fast");
}
https://stackoverflow.com/questions/20478348
复制相似问题