前段时间,一直在做web项目,总是出现一个问题:用户输入了一些内容后,不小心关掉了浏览器窗口,或是跳转到了其它页面,没有任何的提示,但是数据就没有了,其实跳转还好办,难就难在关闭浏览器时要给出一个提示,很是头痛,上网查了很多东东,但都没有结果,,很是郁闷。
今天无意识的在关闭一篇没有写完的随笔时,突然发现有“如果不保存就会丢失内容”的提示。很是激动。就查看了原文件,虽然很多乱码,但好在还有一部分可读的,终于让我发现了onbeforeunload事件 ,,很是开心。在BlogJava中,它是这样用的:
今天无意识的在关闭一篇没有写完的随笔时,突然发现有“如果不保存就会丢失内容”的提示。很是激动。就查看了原文件,虽然很多乱码,但好在还有一部分可读的,终于让我发现了onbeforeunload事件 ,,很是开心。在BlogJava中,它是这样用的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Confirm Before Leave</title>
<script language="javascript" type="text/javascript">
<!--
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="您真的要离开本页吗?";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}
//--></script>
</head>
<body onload="ShowConfirmClose(true);">
<input type=button value="提示" onclick="ShowConfirmClose(true);">
<input type=button value="不提示" onclick="ShowConfirmClose(false);">
<input type=button value="测试刷新" onclick="window.location.reload();">
</body>
</html>
<html>
<head>
<title>Confirm Before Leave</title>
<script language="javascript" type="text/javascript">
<!--
var pb_strConfirmCloseMessage;
var pb_blnCloseWindow = false;
pb_strConfirmCloseMessage ="您真的要离开本页吗?";
function ConfirmClose() {
window.event.returnValue = pb_strConfirmCloseMessage;
pb_blnCloseWindow = true;
}
function ShowConfirmClose(blnValue) {
if(blnValue) {
document.body.onbeforeunload = ConfirmClose;
} else {
document.body.onbeforeunload = null;
}
}
//--></script>
</head>
<body onload="ShowConfirmClose(true);">
<input type=button value="提示" onclick="ShowConfirmClose(true);">
<input type=button value="不提示" onclick="ShowConfirmClose(false);">
<input type=button value="测试刷新" onclick="window.location.reload();">
</body>
</html>
<input type=checkbox name=mm value=a onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=b onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=c onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=d onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=e onclick="checkItem(this, 'mmAll')"><br><br>
<input type=checkbox name=mmAll onclick="checkAll(this, 'mm')">全选与不全选的切换
<script language=Javascript>
function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
ps:(当然若那个全选框是其它的控件比如是一个按钮,或者一个链接什么的话,那复选框里的 checkItem 点击事件可以去掉,以免出错)
<input type=checkbox name=mm value=b onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=c onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=d onclick="checkItem(this, 'mmAll')"><br>
<input type=checkbox name=mm value=e onclick="checkItem(this, 'mmAll')"><br><br>
<input type=checkbox name=mmAll onclick="checkAll(this, 'mm')">全选与不全选的切换
<script language=Javascript>
function checkAll(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i<aa.length; i++)
aa[i].checked = e.checked;
}
function checkItem(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa = document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked = true;
}
}
</script>
ps:(当然若那个全选框是其它的控件比如是一个按钮,或者一个链接什么的话,那复选框里的 checkItem 点击事件可以去掉,以免出错)
php删除确认
<a href="delete.php?ID=1" onclick="return confirm('确定删除磁记录?');">删除</a>
在删除页面的<head></head>之间加入如下javascript代码即可
(1)
<script language="Javascript">
function delete_confirm(e) {
if (event.srcElement.outerText=="删除")
event.returnValue=confirm("您确认执行删除操作么?");
}
document.onclick=delete_confirm;
</script>
(2)
<head><script language=JavaScript>
<!--
function DoEmpty(del_id)
{
if (confirm("真的要删除吗"))
window.location = "dele.php?id=" + del_id ;
}
//-->
</script></head>
<a href="javascript:DoEmpty('12');">删除</a>
(3)
<head><script language=JavaScript>
<!--
function DoEmpty(u)
{
if (confirm("真的要执行所选操作吗"))
u.submit();
}
//-->
</script></head>
<a href="javascript:DoEmpty(this.form);">全部删除</a>
<a href="delete.php?ID=1" onclick="return confirm('确定删除磁记录?');">删除</a>
在删除页面的<head></head>之间加入如下javascript代码即可
(1)
<script language="Javascript">
function delete_confirm(e) {
if (event.srcElement.outerText=="删除")
event.returnValue=confirm("您确认执行删除操作么?");
}
document.onclick=delete_confirm;
</script>
(2)
<head><script language=JavaScript>
<!--
function DoEmpty(del_id)
{
if (confirm("真的要删除吗"))
window.location = "dele.php?id=" + del_id ;
}
//-->
</script></head>
<a href="javascript:DoEmpty('12');">删除</a>
(3)
<head><script language=JavaScript>
<!--
function DoEmpty(u)
{
if (confirm("真的要执行所选操作吗"))
u.submit();
}
//-->
</script></head>
<a href="javascript:DoEmpty(this.form);">全部删除</a>
一、引言
如今,有相当多的Web应用程序,如Backpack,Blinksale和Gmail,都把数据库技术与AJAX集成到一起。通过提供与数据库通讯而不用刷新浏览器这种强有力的技术,这种集成对web应用程序和用户体验产生巨大的影响-这意味着,在用户继续其它交互的同时可以实现实时的数据传输。
如今,有相当多的Web应用程序,如Backpack,Blinksale和Gmail,都把数据库技术与AJAX集成到一起。通过提供与数据库通讯而不用刷新浏览器这种强有力的技术,这种集成对web应用程序和用户体验产生巨大的影响-这意味着,在用户继续其它交互的同时可以实现实时的数据传输。
很不错的Ajax结合PHP的应用,有源代码下载。
1.拖动效果
演示:http://www.pyvy.com/p/dd.php
下载:
2.用户名检测
演示:http://www.pyvy.com/p/username-ajax.php
下载:
3.拖动条
演示:http://www.pyvy.com/p/slider/
下载:
1.拖动效果
演示:http://www.pyvy.com/p/dd.php
下载:
下载文件
2.用户名检测
演示:http://www.pyvy.com/p/username-ajax.php
下载:
下载文件
3.拖动条
演示:http://www.pyvy.com/p/slider/
下载:
下载文件
这个一般用于文章查看的页面,针对新闻性质的网站,此外这个算法是直接分析网页中所有图片的,因此如果你的版面设计中有比指定宽度大的图片是不能用这个函数的(或者用id区分开)
Ajax这个名称怎么来的,本人也不得而之了,大概是(Active javascript Action Xml)吧,说白一点就是运用了 javascript、xmlhttp和xmldom技术及网站后台来处理用户的一些操作的方法吧。
那么本人就分三步来说明如何使用 Ajax 技术来做开发。
那么本人就分三步来说明如何使用 Ajax 技术来做开发。
GB编码标准中,比较常用的是GB2312和GBK两种,GB2312是GBK的一个子集,GB2312编码范围是 0xA1A1 - 0xFEFE ,如果纯粹的 GB2312编码,处理起来是什分简单的,但处理GBK字符集时有些小的提示,先说说GBK编码的标准吧:
GBK 采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。
GBK 采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。
写通用性程序考虑兼容性是很头痛的事情,关于用PHP生成缩略图的代码很多,不过能完全兼容gd1.6和gd2.x,并能保证缩图清晰性的代码几乎没有,我把我以前的代码改了一下,就能实现了。