使用本地存储允许某人发表评论,然后显示保存的评论
Using local storage to allow someone to comment and then to show saved comments
不同脚本的一些元素正在工作,但我似乎无法将保存的注释显示在页面底部。有什么建议可以解释为什么有些零件不工作?当有人在文本框中写下姓名和我按下清除键时,它会清除所述字段,但我无法保存评论并将其显示在页面上。我做错了什么?
<!DOCTYPE html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=utf-
8" />
<title>Matthew comments</title>
<link rel="stylesheet" href="stylesheet.css" type="text/css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="myScript.js"></script>
<script>
function clearComment(){
$('#txt1').val('');
};
</script>
<script>
function saveComment()
var ctext = $('#txt1').val()
var cname = $('#namebox').val()
if (cname === 'Name'){cname = 'Anon';
alert(‘saveComment cname=’+cname+’ ctext=’+ctext)
};
</script>
<script>
var cmtlist = ‘<p><span class=”cmtname”’+cname+
</span>'+ctext+’</p>’;
$(‘#cmtlist’).empty();
$(‘#cmtlist’).append(cmtlist);
</script>
<script type=”text/javascript”>
// utility functions for localstorage
function setObject(key, value) {
window.localStorage.setItem(key,
JSON.stringify(value));
};
function getObject(key) {
var storage = window.localStorage;
var value = storage.getItem(key);
return value && JSON.parse(value);
};
function clearStorage() {
// removes everything placed in localstorage
window.localStorage.clear();
};
</script>
<script>
var cmtlist = $('#cmtlist').html();
cmtlist = ‘<p><span class=”cmtname”’+cname+
‘</span >’+ctext+’</p>’+cmtlist;
setObject('cmtlist', cmtlist);
var cmtlist = getObject('cmtlist');
if (getObject('cmtlist') === null){
var cmtlist = '';
} else {
var cmtlist = getObject('cmtlist');
};
if ($('#txt1').val() === 'CLEAR ALL STORAGE NOW!'){
clearStorage();
};
</script>
</head>
<body>
<header id="banner">
<dl>
<dt>Matthew Wilson</dt><dd>
<imgsrc="http://www.uea.ac.uk/documents/2397319/2396777/UEA+logo/bc91b5b5-ab8e-4673-b1e6-1a4a9fd918ab?t=1359129534719" alt="sloth" /></dd>
</dl>
</header>
<nav>
<button class="navbutton" onClick="clearComment()">Clear Comment</button>
<button class="navbutton" onClick="saveComment()">Save Comment </button>
</nav>
<div id="main">
<div id="dtext">
<h4>Your comment</h4>
<input id="namebox" type="text" maxlength="32" size="20"
value="Name" />
<br />
<textarea id="txt1" class="textbox" rows="6"></textarea>
</div>
<h4>Comments</h4>
<div id="cmtlist">
</div>
</div>
</body>
</html>
试试这个:
html
<button class="navbutton" onClick="clearComment()">Clear Comment</button>
<button class="navbutton" onClick="saveComment()">Save Comment </button>
<div id="dtext">
<h4>Your comment</h4>
<input id="namebox" type="text" maxlength="32" size="20" placeholder="Name" />
<br />
<textarea id="txt1" class="textbox" rows="6" placeholder="Your comment"></textarea>
</div>
<h4>Comments</h4>
<div id="cmtlist"></div>
javascript
// utility functions for localstorage
function setObject(key, value) {
window.localStorage.setItem(key, JSON.stringify(value));
}
function getObject(key) {
var storage = window.localStorage,
value = storage.getItem(key);
return value && JSON.parse(value);
}
function clearStorage() {
window.localStorage.clear();
}
// Clear inputfields and localstorage
function clearComment(){
$('#txt1').val('');
$('#namebox').val('');
clearStorage();
}
function saveComment(){
var cText = $('#txt1').val(),
cName = $('#namebox').val(),
cmtList = getObject('cmtlist');
if (cmtList){
cmtList.push({name: cName, text: cText});
setObject('cmtlist', cmtList);
}else{ //Add a comment
setObject('cmtlist', [{name: cName, text: cText}]);
}
bindCmt();
}
function bindCmt(){
var cmtListElement = $('#cmtlist'),
cmtList = getObject('cmtlist');
//Out with the old
cmtListElement.empty();
//And in with the new
$.each(cmtList, function(i, k){
cmtListElement.append( $('<p><span>'+ k.name +'</span>'+ k.text +'</p>') );
});
}
//Get the comments on page ready
$(function(){
bindCmt();
});
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 添加文字和评论功能更新Div
- Javascript运行php文件,然后下载文件
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 包括用于facebook评论框的JavaScript SDK
- 弹出窗口出现,然后退出
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- facebook”;添加评论“;popup获胜'不要消失
- 将值输入到对象,然后该对象推送到数组
- 如何临时暂停浏览器渲染,然后恢复整个页面
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 滚动然后捕捉到顶部而不是取消捕捉
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 有没有一个抽象层,这样我就可以集成一次,然后使用pusher、pubnub或faye
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 点击相同的按钮打开模型,然后提交表单
- 显示最新评论,然后向上滚动以查看较早的评论
- Laravel 5.1-使用ajax打印评论,然后能够立即删除它
- 使用本地存储允许某人发表评论,然后显示保存的评论