首页 新闻 会员 周边

IE表单自动记录与Submit按钮

0
悬赏园豆:20 [已关闭问题]
当我们用Submit按钮提交表单数据的时候,IE会自动记录下在Input里面输入的内容,但是我们用其他按钮的时候,虽然也提交表单了,但是IE就不能记录下来了。
问题补充: 我想请问一下IE自动记录表单的数据,在下次访问的时候会出现。 为什么跟生命周期有关 呢? 而且提交按钮触发的都是PostBack,它们的区别在哪里? 我现在的问题是Submit按钮可以让IE自动记录表单数据,而普通的按钮通过js提交没有这种效果。 谢谢你的关注。^_^ 再次谢谢大家的关注, 看了大家的回复,我觉的datasky可能理解我的题目的意思,对于生命周期而言,我还是有点不明白怎么会跟IE浏览器有关了? 我们提交的数据,经过IE发送回服务器,但是我们的数据在提交的时候,已经被IE保存下来了,如果你使用的是<input type="submit" .....类型的话。 而当我们使用的是<input type="button" ...onclick = "form1.submit()"...的时候,值是没有被保存下来的。但是这2种的生命周期,我觉的应该是一样的。 但是对于DataSky,我还是有点不明白,是不是submit类型的按钮,自己处理了保存方面的逻辑,然后再提交数据给服务器? 所以我们直接使用form1.submit的时候,没有被记录下来表单数据。
荒芜的主页 荒芜 | 菜鸟二级 | 园豆:335
提问于:2008-06-06 11:16
< >
分享
其他回答(2)
0
你要问的问题是什么呢? 其他按钮又是指的什么按钮提交表单呢? 对补充问题的回答: 既然楼主清除微软ASP.Net页面的机制,知道在页面中所有控件的属性、状态、内容等都被保存在页面的隐藏域中,当提交表单时这些内容必须被更新后才能成功提交,否则在页面中输入的内容或改变是不会被提交的。因此就会使得某些提交是先保存属性、状态、内容再提交,而有些提交是没有保存属性、状态、内容就提交(这就导致提交的是改变之前的属性、状态和内容)! 关于详细内容最好能看看有关Aspx页面的生命周期等相关文章。 再次对补充问题的回答: 关于页面生命周期简述如下文: 一般加载分为以下几个主要阶段(粗体标出的阶段的特殊性后面解释): Init - 初始化,是否为动态控件就以此为分界,Init之前加入到控件树的控件其处理过程就和ASPX中静态声明的一致,因为静态控件也就是在Init前加入的。 LoadViewState - 加载ViewState。 ProcessPostData - 处理PostData,倒不如说是加载PostData,因为此阶段控件多数仅加载PostData,顺便判断PostData是否有改变,别的处理不在此阶段作。 Load - 加载,让ASP.NET程序员尽情发挥创意的地方,包括如何糟蹋ASP.NET这个框架。 ProcessPostData Second Try - 第二次尝试处理PostData,和第一次所做的一样,不过第一次执行时已在控件树上的控件不会受到第二次打扰。 Raise ChangedEvents - 冒泡Changed类事件,这里指的是由于PostData变更而引起的Changed类事件。 Raise PostBackEvent - 冒泡PostBack类事件,除了Changed类以外的所有事件都在这里引发。 PreRender - 预呈现,这名字不怎么好记,改为“末日审判”或许会好一些,因为作为上帝的程序员在这里判决每一个变量的最终值。 SaveViewState - 保存ViewState,判决执行的阶段,变量最终值在此保存,判入地狱的变量无权进入ViewState这个天堂并从此消失。 Render - 呈现,可能是生命周期中最无法解耦的一个阶段。 Unload - 卸载,有加载自然有卸载,但其实没有多少人知道它的存在。 这11个主要阶段可以简单分为3大步骤: 加载数据:LoadViewState, ProcessPostData, ProcessPostData Second Try 处理数据:Raise ChangedEvents, Raise PostBackEvent 保存数据:SaveViewState 这3大步骤构成了ASP.NET页面处理体系,其中第2步的处理数据是基于事件冒泡的形式,也正是ASP.NET比ASP先进的地方。ASP.NET把是否处理以及如何处理分离开来了:控件内部的逻辑决定是否处理,如果要处理就触发事件;控件外部的逻辑决定如何处理,仅当事件触发时才会被执行。 【本叙述为部分转载,原文网址:http://www.cnblogs.com/micolour/articles/626341.html】 从中不难看出,保存页面状态在生命周期的哪个环节,在页面生命周期说明中正好解答怎样才能保存页面状态及其原理!
刚刚 | 园豆:3151 (老鸟四级) | 2008-06-06 11:38
0
“Submit按钮可以让IE自动记录表单数据,而普通的按钮通过js提交没有这种效果。” IE只默认保存每次和服务器交互时的页面元素。 JS没有使用form的方式。
致博腾远 | 园豆:1389 (小虾三级) | 2008-06-06 16:48
0
支持一楼!!
伽马科技.攻城师 | 园豆:1303 (小虾三级) | 2008-06-09 09:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册