嘉定都市网

标题: 如何做超链“确认”对话框 [打印本页]

作者: 土豆花生泥    时间: 2002-2-22 17:31
标题: 如何做超链“确认”对话框
点击有些超链接时,你会发现点击后弹出一个确认对话框,让你确认是否继续,如果选择“确定”则会继续加载链接页面,如选则“取消”则不会继续。源代码如下:

1.将下面一段代码插入<head>与</head>之间:

<script>
function rusure()
{  
question = confirm("确实要去进入吗?")  
if (question !="0")
{
window.open("","测试公告窗口","width=340,height=163,toolbar=0,status=0,menubar=0,resize=0");
}
}
</script>

2.在链接标签内加入onclick()语句:

<a href="" onClick="rusure(); return false;">来点击我</a>

实现的方法为两步,首先将源码粘贴框中的JavaScript代码插入到<head>与</head>之间,然后在链接的标签中加入onclick()语句即可。

  这个方法其实还可以用在其它的地方,比如说对于一个“提交”按钮,如果加上确认对话框,就能给提交者反悔的机会。JavaScript提供的标准对话框有好几种,我们把它列在下表中,供你使用时参考。

确认对话框:
re=confirm("确认信息")      
    选择“确认”或“取消”,   用返回值控制响应 真或假(True/False)

警告对话框:
alert("警告信息")            
    仅是一个警告,点击“确定”自动消失 无返回值

输入对话框:
re=prompt("问题","默认回答")   
    返回用户输入的信息,做下一步的操作 用户输入的文本串或空值


作者: FlowJZH    时间: 2002-2-22 22:53
以上方法最致命的缺点在于如果用户想要按住shift键重新开一个窗口,那得到的结果会很混乱,首先会弹出一个窗口,因为href属性为空,所以里面什么都没有,而这个时候焦点转到新开的窗口,本来窗口的function也不会执行,看上去很不舒服,主要还是因为tag "a"在作怪,小生为这个问题头痛了很久,最后不得不放弃,总结为:任何想要用a来启动javascript的代码都会受到shift键的牵连,要不就是定义的css无法正确的到应用。现在小生一般采用的方法就是直接写href,毕竟花哨的js没什么太大的用处,真的要确认,还是返回一个确认页面,把用户的选择详细地告诉用户,然后再执行下一步。如果是图片的话,那不要在外面再套<a> </a>了,直接定义img的onclick就好,这样还可以省下border=0这一条。而且dw的findobj函数支持任何name,不管是a的还是img的,所以由它生成的swapimage等函数可以按照以上方法把a里面的东西全部搬到img里去,唯一改动就是把img的鼠标指针变成hand。经过以上改动,单窗口中的效果和原来一样,如果是用点击image作为启动js的标志,那这样的好处是即使按下了shift键,也不会弹出窗口,而只是在原窗口中执行而已。具体效果可以看http://www.miaojiang.com/bigxian/page/index.asp
作者: S~XJJ    时间: 2002-2-22 23:44
说的那么深 你干什么的
作者: FlowJZH    时间: 2002-2-23 14:37
小生说得很简单啦

小生只是最近在搞那个页,稍微有些研究而已,不敢独享。




欢迎光临 嘉定都市网 (http://www.jiading.com.cn/) Powered by Discuz! X3.1