本文将分享ajax–如何在JSF2.0中使用表单重新呈现页面的一部分?的详细内容,并且还将对js表单重置进行详尽解释,此外,我们还将为大家带来关于(jquery)关闭整个屏幕并突出显示页面的一部分?、
本文将分享ajax – 如何在JSF 2.0中使用表单重新呈现页面的一部分?的详细内容,并且还将对js表单重置进行详尽解释,此外,我们还将为大家带来关于(jquery)关闭整个屏幕并突出显示页面的一部分?、ajax – 在jQuery中提取HTML文档的一部分、asp.net – 在窗口调整大小或在标签之间切换之前,IE7不会呈现页面的一部分、css – 如何仅打印页面的一部分?的相关知识,希望对你有所帮助。
本文目录一览:- ajax – 如何在JSF 2.0中使用表单重新呈现页面的一部分?(js表单重置)
- (jquery)关闭整个屏幕并突出显示页面的一部分?
- ajax – 在jQuery中提取HTML文档的一部分
- asp.net – 在窗口调整大小或在标签之间切换之前,IE7不会呈现页面的一部分
- css – 如何仅打印页面的一部分?
ajax – 如何在JSF 2.0中使用表单重新呈现页面的一部分?(js表单重置)
<h:panelGroup id="outerDiv"> <h:form id="form1">...</h:form> <h:form id="form2">...</h:form> </h:panelGroup>
我的意思是,如果我更新outerDiv,所有内容都会更新,但表单(或表单)本身会被破坏并且行为异常,至少ajax调用要么在第一次触发时不起作用,要么不是调用某些bean的方法而是创建新的实例bean并没有做任何事情(无论是在每次通话中销毁先前还是在第一次通话时创建新的,然后什么都不做).只需重新渲染表单内的组件就可以解决这个问题,比如这样(更新innerDiv1和innerDiv2):
<h:panelGroup id="outerDiv"> <h:form id="form1"> <h:panelGroup id="innerDiv1">...</h:panelGroup> </h:form> <h:form id="form2"> <h:panelGroup id="innerDiv2">...</h:panelGroup> </h:form> </h:panelGroup>
但是我们有很多地方我们用ui包含了一些页面:include并且查看那个页面并在那里更新某些组件并不是很方便.此外,我们将不得不修改所有这些页面,因为它们中的许多页面在表单内部没有共同的包装div,并且单独更新每个组件将非常麻烦且容易出错.
那么,是否有可能使JSF 2.0正确地更新页面的一部分,就像在JSF 1.2中一样?
编辑:看起来表单渲染的问题是richfaces 4.2问题,因为我使用a4j:ajax(a4j的后继:与richfaces 3.3.3一起使用的支持)和基于rich:commandButton的自定义按钮.当我用原生jsf的f替换它们时:ajax表单似乎正确刷新.但外部div的问题仍然存在
解决方法
要解决此问题,只要从另一个表单调用,就需要在outerDiv旁边的ajax render / update属性中显式包含其他表单的ID.
例如.
<h:form> <h:commandButton value="Update other forms"> <f:ajax render="outerDiv form1 form2" /> </h:commandButton> </h:form> <h:panelGroup id="outerDiv"> <h:form id="form1">...</h:form> <h:form id="form2">...</h:form> </h:panelGroup>
不,这不会导致重复组件的ajax响应.它只会触发JSF准备并保存其他表单的状态.
也可以看看:
> Communication in JSF 2.0 – Ajax rendering of content which contains another form
(jquery)关闭整个屏幕并突出显示页面的一部分?
这个圈子是一个奖金,会很高兴一个解决方案,允许突出显示一个给定的“div”
解决方法
不需要插件这可以用很少的jQuery代码来实现,在z指数上面显示一个与选定的div的停电覆盖图:
$('.expose').click(function(e){ $(this).css('z-index','99999'); $('#overlay').fadeIn(300); }); $('#overlay').click(function(e){ $('#overlay').fadeOut(300,function(){ $('.expose').css('z-index','1'); }); });
根据以下HTML& CSS …只需将暴露类添加到您想要单击的任何元素:
<div>Some content</div> <textarea>Some content</textarea><br /> <input type="text"value="Some content" /><br /> <div id="overlay"></div> .expose { position:relative; } #overlay { background:rgba(0,0.3); display:none; width:100%; height:100%; position:absolute; top:0; left:0; z-index:99998; }
See example →
ajax – 在jQuery中提取HTML文档的一部分
AJAX retrieval很简单。这给我在回调函数的“data”参数中的整个HTML文档。
我不明白是如何以有用的方式处理这些数据。我想把它包装在一个新的jQuery对象,然后使用一个选择器(通过find()我相信)得到只是我想要的部分。一旦我有了,我会把它传递给另一个JavaScript对象插入到我的文档。 (这个代理是为什么我不使用jQuery.load()在第一位)。
我看到的get()示例似乎都是这样的变体:
$('.result').html(data);
…如果我正确理解它,将整个返回的文档插入到选定的元素。不仅是可疑的(这不插入< head>等?),但它太粗糙的我想要的。
对于其他方法的建议是最受欢迎的。
$.post("getstuff.PHP",function(data){ var mainDiv = $("#mainDiv",data); // finds <div id='mainDiv'>...</div> },"html");
这相当于做:
$(data).find("#mainDiv");
根据你如何计划使用这个,$ .load()可能是一个更好的路由,因为它允许一个URL和一个选择器过滤结果数据,这是直接传递到元素的方法被调用上:
$("#mylocaldiv").load("getstuff.PHP #mainDiv");
这将加载< div id ='mainDiv'> …< / div>在getstuff.PHP中加入我们的本地网页元素< div id ='mylocaldiv'> …< / div> ;.
asp.net – 在窗口调整大小或在标签之间切换之前,IE7不会呈现页面的一部分
我有一个固定的布局,用于保持标题和侧面板固定在页面上,只留下“主要内容”区域开关可以愉快地滚动它的内容.
layout on Twitpic http://twitpic.com/show/thumb/e32q7.png
这种布局对于IE6和IE8非常适用,但有时一页可能会“隐藏”应该在“主要内容”区域中显示的内容.
页面完成加载就好了.一瞬间IE7将渲染主要内容就好了,然后它会立即将其隐藏在视图中…某处…当有足够的内容强制“主要内容”区域时,它似乎只会遇到此问题滚动.
通过调整窗口大小或切换到另一个打开的选项卡再返回将导致IE7按预期显示页面.
请注意,兼容模式下IE8会出现同样的问题,但在IE8模式下页面会正确呈现.
如果需要,我可以附加我使用的基本CSS样式,但我首先想看看这是否是IE7的已知问题.
IE7是否存在定位布局和溢出滚动的问题,有时会忘记完全正确渲染页面,直到某些窗口重绘事件强制完成渲染?
请记住,这个完全相同的布局用于站点中的多个页面,因为它是在母版页中设置的.它只是(在这种情况下)一个页面遇到了这个问题.
具有完全相同布局的其他页面可以正确呈现.即使主要内容足够滚动也是如此.
更新:A related question此时没有答案.
最新更新:添加示例母版页和CSS
请注意,相同的布局对于应用程序中的所有页面都是相同的. IE7的问题只发生在一个这样的页面上.所有其他页面都可以在IE7中正确呈现.只有一个页面使用完全相同的布局,它有时会隐藏“工作空间”div中的内容.
母版页
<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="shared_templates_MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <link rel="Stylesheet" type="text/css" href="~/common/yui/2.7.0/build/reset-fonts/reset-fonts.css" runat="server" /> <link rel="Stylesheet" type="text/css" href="~/shared/css/layout.css" runat="server" /> <asp:ContentPlaceHolder ID="head" runat="server" /> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <div id="app-header"> </div> <div id="side-panel"> </div> <div id="work-space"> <asp:ContentPlaceHolder ID="WorkSpaceContentPlaceHolder" runat="server" /> </div> <div id="status-bar"> <asp:ContentPlaceHolder ID="StatusBarContentPlaceHolder" runat="server" /> </div> </form> </body> </html>
layout.css
html { overflow: hidden; } body { overflow: hidden; padding: 0; margin: 0; width: 100%; height: 100%; background-color: white; } body,table,td,th,select,textarea,input { font-family: Tahoma,Arial,Sans-Serif; font-size: 9pt; } p { padding-left: 1em; margin-bottom: 1em; } #app-header { position: absolute; top: 0; left: 0; width: 100%; height: 80px; background-color: #dcdcdc; border-bottom: solid 4px #000; } #side-panel { position: absolute; top: 84px; left: 0px; bottom: 0px; overflow: auto; padding: 0; margin: 0; width: 227px; background-color: #AABCCA; border-right: solid 1px black; background-repeat: repeat-x; padding-top: 5px; } #work-space { position: absolute; top: 84px; left: 232px; right: 0px; padding: 0; margin: 0; bottom: 22px; overflow: auto; background-color: White; } #status-bar { position: absolute; height: 20px; left: 228px; right: 0px; padding: 0; margin: 0; bottom: 0px; border-top: solid 1px #c0c0c0; background-color: #f0f0f0; }
Default.aspx
<%@ Page Title="Test" Language="VB" MasterPageFile="~/shared/templates/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <asp:Content ID="WorkspaceContent" ContentPlaceHolderID="WorkSpaceContentPlaceHolder" Runat="Server"> Workspace <asp:ListView ID="DemoListView" runat="server" DataSourceID="DemoObjectDataSource" ItemPlaceholderID="DemoPlaceHolder"> <LayoutTemplate> <table> <colgroup> <col width="80" /> <col /> <col width="80" /> <col width="120" /> </colgroup> <tbody> <asp:PlaceHolder ID="DemoPlaceHolder" runat="server" /> </tbody> </table> </LayoutTemplate> <ItemTemplate> <tr> <th><%#Eval("ID")%></th> <td><%#Eval("Name")%></td> <td><%#Eval("Size")%></td> <td><%#Eval("CreatedOn","{0:yyyy-MM-dd HH:mm:ss}")%></td> </tr> </ItemTemplate> </asp:ListView> <asp:ObjectDataSource ID="DemoObjectDataSource" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="DemoLogic"> <SelectParameters> <asp:Parameter Name="path" Type="String" /> </SelectParameters> </asp:ObjectDataSource> </asp:Content> <asp:Content ID="StatusContent" ContentPlaceHolderID="StatusBarContentPlaceHolder" Runat="Server"> Ready OK. </asp:Content>
解决方法
你的CSS是在主要内容区域之后声明的(这导致所谓的“无格式内容的闪现”),并且在你的CSS中有一个IE7错误(可能是peekaboo bug)导致内容被隐藏.
尝试添加:
position: relative; min-width: 0;
对于正在消失的内容.
css – 如何仅打印页面的一部分?
当然,当用户点击打印按钮时,我可以打开一个单独的页面.唯一的事情是,形式真的很长,这样做是相当乏味的.
编辑:我以前的问题并没有反映出我在寻找什么.所以我改为现在.
还要感谢所有建议的window.onbeforeprint和window.onafterprint.这与我编辑的问题相关.
解决方法
<link rel="stylesheet" type="text/css" media="print" href="print.css">
参见:this answer
关于ajax – 如何在JSF 2.0中使用表单重新呈现页面的一部分?和js表单重置的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于(jquery)关闭整个屏幕并突出显示页面的一部分?、ajax – 在jQuery中提取HTML文档的一部分、asp.net – 在窗口调整大小或在标签之间切换之前,IE7不会呈现页面的一部分、css – 如何仅打印页面的一部分?等相关知识的信息别忘了在本站进行查找喔。
本文标签: