热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript基础问答四_基础知识

JavaScript下拉菜单中的链接
二、导航功能增强

1. 下拉菜单中的链接(Links in Select Menu)

Q:我如何实现在下拉菜单中链接到不同的页面?

A:要创建一个所示的下拉菜单:

你可以使用下面的代码:

  1. <form>
  2. <select
  3. onChange="if(this.selectedIndex!=0)
  4. self.location=this.options[this.selectedIndex].value">
  5. <option value="" selected>Select a page
  6. <option value="startpag.htm">Javascript FAQ
  7. <option value="numbers.htm">Numbers
  8. <option value="strings.htm">Strings
  9. <option value="navigati.htm">Navigation
  10. <option value="colors.htm">Colors
  11. <option value="http://www.Javascripter.net">Javascripter.net
  12. select>
  13. form>

只需要把菜单项及其相应的URL改为你需要就可以了。你可以使用绝对地址(就像http://www.Javascripter.net),也可以使用相对地址(像 mypage.htm)。

2. 按钮链接(Button Links)

Q:我怎么才能把一个按钮变为指向另外一个页面的超链接呢?

A:要创建一个按钮就像一个:

你可以使用这段代码:

  1. <form>
  2. <input type=button
  3. value="insert button text here"
  4. onClick="self.location='Your_URL_here.htm'">
  5. form>

只需要改为你需要的按钮文本和目标地址。试一下这个:

你可以使用绝对地址(像http://www.Javascripter.net)也可以使用相对地址(像mypage.htm)。

3. 后退按钮(Back Button)

Q:我能让按钮像浏览器的“后退”按钮一样吗?

A:要创建你自己的后退按钮,可以使用这段代码:

  1. <form>
  2. <input type=button value="Back"
  3. onCLick="history.back()">
  4. form>

现在试一下:

4. 前进按钮(Forward Button)

Q:我能让按钮像浏览器中的“前进”按钮一样吗?

A:要创建自己的“前进”按钮,使用这段代码:

  1. <form>
  2. <input type=button value="Forward"
  3. onCLick="history.forward()">
  4. form>

如果浏览器上的前进按钮当前不可用,那么这个“前进”按钮同样不能工作。这种情况就是当前页是你浏览历史中的最后一页。换句话说,如果你是使用浏览器的“后退”按钮到达的这个页面(或者脚本编写的后退按钮),那么这个前进按钮就可以工作。现在试一下吧!

5. 查询字符串(Query Stirngs)

Q:我的脚步可以访问当前URL中的查询字符串吗?

A:查询字符串(或搜索字符串)是URL中的一个可选部分,它跟在文件名后面,以问号引导(?)。例如,下面的URL在HTML文件名后包含了一个查询字符串 ?myquery

http://www.myfirm.com/file.html?myquery

你的脚本可以使用Javascript的location.search属性访问当前URL中的查询字符按。点击下面按钮试一下看看!(为了查看地址中的URL,你可能想要在顶层浏览器窗口中显示这个页面。)

创建这些按钮的代码是:

  1. <form>
  2. <input type=button value="Add query ?test"
  3. onClick="selfself.location=
  4. self.location.protocol+'//'
  5. +self.location.host
  6. +self.location.pathname+'?test'">
  7. <input type=button value="Show query"
  8. onClick="alert('Query string: '+self.location.search)">
  9. <input type=button value="Remove query"
  10. onClick="selfself.location=
  11. self.location.protocol+'//'
  12. +self.location.host
  13. +self.location.pathname">
  14. form>

注意:查询字符串有时候可能不会如预期一样的工作。例如,如果你将这个页面保存本地磁盘上,上面在Internet Explorer 4.x就不会工作(但是在Netscape Navigator中依然有效)。

6. 向页面传递参数(Passing parameters to a page)

Q:我可以从也页面向另外一个页面传递参数吗?

A:可以。有几种不同的方式可以实现:

function SetCOOKIE(COOKIEName,COOKIEValue,nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=1; expire.setTime(today.getTime() + 3600000*24*nDays); document.COOKIE = COOKIEName+"="+escape(COOKIEValue) + ";expires="+expire.toGMTString(); } 《SCRIPT》
  • 把参数保存在COOKIE中
  • 把参数保存在另外一个窗口或框架的变量中
  • 把参数存在可以修改的属性top.name(浏览器窗口的名字)中
  • 把参数作为一个查询字符串拼接在目标页面的URL后面

这里是一个简单的例子来演示所有这些传递参数的方法。传递的值应该是字符换“It_worked”。当你点击下面的按钮时,按钮的事件脚本会存在这些值(1)在名为parm_value的COOKIE中,(2)以顶层变量top.parm_value保存以及(3)在top.name属性中。然后,脚本引导浏览器到parm_get.htm,它的URL包含一个值为URL编码的查询字符串。

7. 查找文本(Searching for text)

Q:我怎样在页面查询一个特定的文本字符串?

A:在Netscape Navigator 4.x中,可以使用window.find(string) 方法查找;参见查找对话框。在Internet Explorer 4.x或更新版本中,创建一个文本范围对象(下面的例子中是TRang),然后使用TRang.findText(string)。

示例:下面的脚本根据用户输入的文本查找并在页面上高亮显示。

《SCRIPT》

这个示例的代码为:

  1. <form name="f1" action=""
  2. onSubmit="if(this.t1.value!=null && this.t1.value!='')
  3. findString(this.t1.value);return false"
  4. >
  5. <input type="text" name=t1 value="" size=20>
  6. <input type="submit" name=b1 value="Find">
  7. form>
  8. <script language="Javascript">
  9. var TRange=null
  10. function findString (str) {
  11. if (parseInt(navigator.appVersion)<4) return;
  12. var strFound;
  13. if (navigator.appName=="Netscape") {
  14. // NAVIGATOR-SPECIFIC CODE
  15. strFound=self.find(str);
  16. if (!strFound) {
  17. strFound=self.find(str,0,1)
  18. while (self.find(str,0,1)) continue
  19. }
  20. }
  21. if (navigator.appName.indexOf("Microsoft")!=-1) {
  22. // EXPLORER-SPECIFIC CODE
  23. if (TRange!=null) {
  24. TRange.collapse(false)
  25. strFound=TRange.findText(str)
  26. if (strFound) TRange.select()
  27. }
  28. if (TRange==null || strFound==0) {
  29. TRange=self.document.body.createTextRange()
  30. strFound=TRange.findText(str)
  31. if (strFound) TRange.select()
  32. }
  33. }
  34. if (!strFound) alert ("String '"+str+"' not found!")
  35. }
  36. //-->
  37. script>

推荐阅读
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • Iwouldliketobeabletohaveasidebarthatcanbetoggledinandoutonabuttonpress.However ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 电销机器人作为一种人工智能技术载体,可以帮助企业提升电销效率并节省人工成本。然而,电销机器人市场缺乏统一的市场准入标准,产品品质良莠不齐。创业者在代理或购买电销机器人时应注意谨防用录音冒充真人语音通话以及宣传技术与实际效果不符的情况。选择电销机器人时需要考察公司资质和产品品质,尤其要关注语音识别率。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
author-avatar
b98625400
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有