页面表单值改变未保存 离开页面给出相关提示

如果点击保存则不提示,未保存就点击其他链接离开给予提示,当然页面表单的值要有更改才提示... 如果点击保存则不提示,未保存就点击其他链接离开给予提示,当然页面表单的值要有更改才提示 展开
 我来答
iop144
2012-07-28
知道答主
回答量:22
采纳率:0%
帮助的人:10.7万
展开全部
第一种是用户进入页面的时候表单为空(例如发表新评论),用户离开的时候有可能表单为空,则不提示,表单有改变但未保存,则提示。实例如下:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript">
function checkNew() {
var content = document.getElementById("content").value;
if(content !== "") {
return "内容已改变,点击“取消”保存表单。";
}
}
window.onbeforeunload = checkNew;
</script>
</head>
<body>
<form>
<textarea cols="50" rows="10" id="content"></textarea>
</form>
</body>
</html>

第二种是用户进入页面的时候表单不为空(例如编辑评论),用户离开的时候有可能表单内容没有改变,则不提示,表单和进入页面的时候内容有差异但未保存,则提示。实例如下:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript">

var originalContent;
window.onload = getOriginal;
function getOriginal() {
originalContent = document.getElementById("content").value;
}

function checkEdit() {
var newContent = document.getElementById('content').value;
if(newContent !== originalContent) {
return "内容已改变,点击“取消”保存表单。";
}
}
window.onbeforeunload = checkEdit;
</script>
</head>
<body>
<form>
<textarea cols="50" rows="10" id="content">原始内容,原始内容,原始内容,原始内容</textarea>
</form>
</body>
</html>

================

我给出的例子是最基本的框架,其它例如提示信息,如何保存等还要进一步优化。
例子中使用的编码为 utf-8,注意保存时使用相同编码以免出现乱码。
追问
你说的这个只是针对于一个特定的textarea  如果也能有很多input输入框等 不实用啊
kofjjj
2012-07-28 · TA获得超过595个赞
知道小有建树答主
回答量:1167
采纳率:25%
帮助的人:535万
展开全部
这个不就是百度知道这个效果么.
给你个笨方法.
给整个body价格onclick时间
触发是判断下表单是否修改,...
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏诺唲
2012-07-28
知道答主
回答量:11
采纳率:0%
帮助的人:4.3万
展开全部
...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式