用Iframe实现Ajax无刷新效果
需求:实现一个页面的下拉框连动效果,要求无刷新。
看到需求的人,通常第一时间会想到用Ajax来实现。我展示的是一个通过Iframe实现无刷新效果。
例:你需要在a.jsp页面上实现连动下拉框!
a.jsp页面关键代码:
function getSelect(obj){
var ffrID = document.getElementById("ffrID");
ffrID.value=obj.value;
ffr.submit();
}
//需要连动的下拉框
<select name="a" onchange="getSelect(this)">
<option>....</option>
</select>
<div id="selectData"></div>
<form name="ffr" action="aaa.action" target="ffrIframe">
<input type="hidden" id="ffrID" name="ffrID" />
</form>
<iframe name="ffrIframe" src='b.jsp' height='0' width='0' bordercolor='#E2EBF6' frameborder="0" scrolling="no" height="100%" width="100%"/>
b.jsp页面关键代码:
window.onload=function(){
window.parent.document.getElementById("selectData").innerHTML = document.getElementById("selectDataStr").innerHTML;
}
<div id="selectDataStr">
<s:property value="selectStr" escape="false" />
</div>
用Iframe实现Ajax无刷新效果的整个流程:
用户选中select标签后,触发事件getSelect(obj).在事件中获得该select标签的选项值,赋给一个名为"ffrID"的隐藏域。然后将包含"ffrID"进行自动提交到后台处理,后台会跟据请求的ID查询出二级select(下拉菜单)。然后返回到b.jsp。通过b.jsp的onload(初使化事件)动态修改a.jsp页面的节点,从而达到无刷新效果。
a.jsp页面代码讲解:
1、form的action="aaa.action",这个action是用来查询二级下柆框数据的。
2、form的target="ffrIframe",target是用来将查询后的数据返回到指定的框架页面,值"ffrIframe"是标签<iframe>的name属性。
a.jsp页面代码讲解:
1、<s:property value="selectStr" escape="false" />,这句代码是指:接收的是从后台组装好的字符串HTML代码。通过struts2的标签s:property的escape="false"属性来解析HTML代码,从而使原来的字符串HTML代码还原成控件。假设该代码返回的结果是:"<select name="xxx"><option value="xxx">xxxx</option></select>",那么通过escape="false"属性能将它还原成下拉菜单。
总结:
通过用Iframe实现Ajax无刷新效果这个例子,可以延伸两个对项目开发很有帮助的知识点。
第一:在上面的例子中用到一个关键的属性:target。target属性用的地方很多,例如在一个多iframe搭建的网页中,在某iframe子页面提交后,需要将结果返回到另一iframe页面。代码中就可用到target属性。再举一常见问题,在论坛上问的也最多的。例:在模态窗口中提交一些数据到后台,经过处理,从后台再次返回到当前提交的模态窗口中。那么通常遇到的问题是:数据从后台返回到最初的模态页面,但这个页面却是从新打开的。解决方案:可在<head>标签的最中间加一句代码<base target="_self"/>即可实现。
第二:通过s:property标签解析从后台返回的HTML标签。这样做的好处有:方便控制。比如:我要在某个页面,跟据数据库里的数据在页面动态勾选项相应的复选框。而按照传统的写法,在页面需要对每一个复选框进行if判断。如果复选框够多,那页面则会变很麻烦。通过从后台组装好的HTML代码在前台显示,页面会清爽很多。而且在后台组装勾选好的复选框比前台动态勾选复选框要容易的多.
分享到:
相关推荐
Ajax(异步JavaScript和XML)技术是实现这一目标的关键工具之一,而jQuery库则通过简化JavaScript的复杂性,让开发者更容易地利用Ajax功能。本篇文章将深入探讨如何结合Ajax和jQuery来实现无刷新效果。 首先,Ajax...
这里的JavaScript函数`changeIframe`接收一个参数,即要加载的页面URL,并将其赋值给`iframe`的`src`属性,从而实现在导航栏点击时无刷新切换内容。 **三、Bootstrap导航栏的响应式设计** Bootstrap的导航栏是响应...
下面将深入探讨如何在ThinkPHP框架中使用AJAX实现无刷新分页。 #### 一、ThinkPHP框架简介 ThinkPHP是一个开源的PHP框架,遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码可维护性。它提供了...
本篇文章主要介绍了如何使用PHP、JavaScript和Iframe来实现这一效果。 首先,我们要理解页面布局的重要性。在PHP网站中,良好的页面布局能够使用户更易于理解和操作。在例子中,界面采用了简单的三部分布局:头部...
"iframe实现无刷新上传下载"是一个利用IFrame和JQuery技术来创建的项目,它允许用户在不刷新整个页面的情况下进行文件的上传和下载操作,提高了交互效率,同时也保持了页面状态的连续性。 首先,我们要理解什么是...
在这个案例中,我们将使用iframe和JavaScript来实现局部刷新。Iframe,即内联框架,可以在一个HTML文档中嵌入另一个HTML文档,这样我们就可以独立地加载和更新页面的部分内容。 具体实现步骤如下: 1. 首先,在...
【jsp+ajax 无刷新聊天室】是一种基于JavaServer Pages(JSP)技术和Ajax(Asynchronous JavaScript and XML)技术实现的在线实时交流平台。在这个聊天室中,用户无需手动刷新页面即可实时查看新消息,提高了用户...
通过以上步骤,我们就实现了使用Ajax实现的无刷新登录。这种方式提高了用户体验,减少了不必要的网络流量,同时也为开发者提供了更灵活的交互方式。在实际开发中,Ajax可以应用于更多场景,如表格数据的动态加载、...
在这个“基于bootstrap用iframe实现的局部刷新的案例”中,我们将探讨如何利用Bootstrap结合JavaScript(特别是与标签相关的操作)以及iframe元素来实现页面的局部刷新和tab页切换效果。 首先,Bootstrap的Tab组件...
**Ajax无刷新分页技术详解** 在Web应用中,用户经常需要浏览大量的数据,例如电商网站的商品列表,社交网络的动态流等。传统的分页方式通常会在用户点击下一页按钮时,整个页面重新加载,这不仅消耗了网络带宽,也...
总的来说,Ajax删除实现无刷新效果是通过JavaScript和XMLHttpRequest或现代的Fetch API,与服务器进行异步通信,实现数据删除而无需刷新整个页面,从而提高了Web应用的交互性和用户体验。在实际开发中,还需考虑安全...
传统的分页方式需要用户每次点击分页按钮时整个页面重新加载,而Ajax(Asynchronous JavaScript and XML)技术则可以实现页面无刷新的分页效果,提供更流畅的浏览体验。本文将深入讲解如何利用JSP和Ajax来实现这一...
通过以上分析,我们可以看出,这个“AJAX无刷新留言”系统利用了AJAX技术提高了用户体验,结合ASP.NET的GridView控件实现了动态数据展示,同时提供了头像选择功能,使得用户互动更加便捷。服务器端的接口设计和...
在Web开发中,Ajax(Asynchronous JavaScript and XML)技术是一种能够让网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页的技术。"Ajax 无刷新投票"就是利用Ajax实现的一种交互方式,它允许用户在...
在网页开发中,"ajax实现无刷新三联动下拉框"是一种常见的交互设计技术,它提高了用户体验,使得用户在选择一项时,其他相关的下拉框能够自动更新而无需页面整体刷新。这种技术主要依赖于AJAX(Asynchronous ...
而使用Ajax实现的无刷新分页,可以在用户翻页时仅请求和更新分页内容,无需加载整个页面,这样既减少了数据传输量,也提高了交互速度。 【标签】"ajax无刷新实例"强调这是一个具体的实践示例,可能包括代码实现、...
在Web应用中,用户交互体验是至关重要的,而Ajax(Asynchronous JavaScript and XML)技术则为实现无刷新页面更新提供了可能。Ajax的核心原理是利用JavaScript与服务器进行异步数据交换,使得网页可以在不重新加载...
综上所述,`ajax实现无刷新删除` 主要涉及以下知识点: 1. **AJAX**:Asynchronous JavaScript and XML,即异步JavaScript和XML,它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。在本...
在现代Web应用中,用户体验的重要性不言而喻。"利用Ajax实现无刷新验证用户名和密码是否正确"这一技术就是为了让用户在输入登录信息时...解压后,可以通过学习和分析这些代码来更深入地理解和应用Ajax无刷新验证技术。