• 全部
  • 问答

原题已结贴,为了感谢wsj兄弟对已结贴问题的关注,特赠200.

yonghengdizhen 2003-08-08 07:29:27
原贴标题和链接:
√如何拦截表单的脚本submit动作======================>用于htc中
http://expert.csdn.net/Expert/TopicView1.asp?id=2077546

解决方法:
在htc初始化时,替换form的action到一个函数,并记住旧action
<script>
function doit(ofrm)
{
ofrm = form1;//You should find someway out here to got FORM instance
ofrm.fireEvent("onsubmit");
if(doYourHTCcheck(ofrm))
event.returnValue = false;
else
{
ofrm.action = oldAction
ofrm.submit();
}
}

</script>
<form id=form1 action="javascript:doit(this)" onsubmit="alert(1);status=1;return true;">
<input></input>
</form>

<script>
form1.submit();
//form1.fireEvent("onsubmit");
</script>
...全文
8 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kingdomzhf 2003-08-09
wsj
good
回复
liuruhong 2003-08-09
基于这些讨论,老兄可以写一个公用的htc,然后贴出代码,按照我的感觉,代码工作量不是很大,关键的是如何去设计而已
回复
yonghengdizhen 2003-08-09
你说的有道理..

我的一个同事的习惯就是这个样子..看来捕获form的action变化还是很有必要
回复
yonghengdizhen 2003-08-09
你说的有道理..

我的一个同事的习惯就是这个样子..看来捕获form的action变化还是很有必要
回复
liuruhong 2003-08-09
偶说的form.attachEvent("onpropertychange",myHandle),不是对于document

我提到的只是一个补充,在htc中的oncontentready事件中编写attachEvent("onpropertychange",myHandle),在事件链中,只要action通过程序改变了,myHandle就可以进行处理,在客户端更多可能的情况是这样的
form1.action=newAction;
form1.submit();
我的意见就是在action改变的情况下myHandle就可以进行处理,然后才真正的执行submit,这个时候的action已经被我们修改成doit,真正的action也被我们记录下来
回复
yonghengdizhen 2003-08-09
to liuruhong(蓝色街灯)
如果修改过action,并不影响htc的attach,因为htc只是保存现场并恢复现场,
当然如果页面某些地方需要脚本检查form的action,那就可能不行了,因为action在form attach到htc之后就已经发生变化,不过这种可能性非常之小,姑且算是一个问题吧,如果附加onpropertychange事件,对于页面性能的影响可能太大了.
这种方式还有一个问题,那就是它不能附加到事件链的最前面,也就是说处理提交的脚本完成之后才执行action内的处理.
不过能找到目前的方法已经很不错了.
回复
liuruhong 2003-08-09
偶突然想到问题还是可能出现的,如果用户也是通过编程修改action属性呢?

这个时候进行的submit会不会出现问题,就是说你进行了doit(form)之后,如果用户通过编程修改了action,这个时候你纪录的action就没有任何意义了,我想这个时候我们是不是可以考虑acttachEvent("onpropertychange",myHandler)来记录action的改动情况呢?
回复
zzmpower 2003-08-09
很好,
回复
liuruhong 2003-08-09
思路确实不错,偶没有想过action可以是一个js函数
回复
wsj 2003-08-09
其实,这就是一个标准的重载了。
可惜HTML太凌乱了。

onPropertyChange for action是个有宜的补充。
我们只有尽量模拟了。

当然话说回来,虽然每个程序员都追求完美的通用
但世上难有绝对通用的程序。

所以:定义明确,实用,高效。是个好的标准。

PS:
--> 它不能附加到事件链的最前面,也就是说处理提交的脚本完成之后才执行action内的处理
可以调整fireEvent在doYourHTCcheck之后。

回复
nba23 2003-08-08
学习中...
回复
fason 2003-08-08
好办法!
回复
相关推荐
互联网盈利模式77种创新(it.icxo.com)
http://it.icxo.com/htmlnews/2006/05/26/854682.htm 当整个世界都在为互联网喝彩的时候,人们... 有人说:网络经济来讲,创新似乎是它可以如此不断膨胀,并且持续繁荣的唯一动力,而且,好像在互联网上谁合理
互联网盈利模式77种创新 【 很八股的标题,不过内容还是可以参考一下的 】
互联网盈利模式77种创新 【 很八股的标题,不过内容还是可以参考一下的 】
互联网盈利模式77种创新
互联网盈利模式77种创新 ...  当整个世界都在为互联网喝彩的时候,人们心中往往都会进行这样的思考--我怎样才能在互联网... 有人说:网络经济来讲,创新似乎是它可以如此不断膨胀,并且持续繁荣的唯一动力,而且
77种互联网盈利创新模式
 有人说:网络经济来讲,创新似乎是它可以如此不断膨胀,并且持续繁荣的唯一动力,而且,好像在互联网上谁合理运用了这个动力,谁就会成为财富的聚集地。当然,这种"金字塔尖上"的人和企业总
比较不错的互联网盈利模式分析
 有人说:网络经济来讲,创新似乎是它可以如此不断膨胀,并且持续繁荣的唯一动力,而且,好像在互联网上谁合理运用了这个动力,谁就会成为财富的聚集地。当然,这种金字塔尖上的人和企业总是凤毛麟角,并且在...
77种网络经济创新模式
---- 有人说:网络经济来讲,创新似乎是它可以如此不断膨胀,并且持续繁荣的唯一动力,而且,好像在互联网上谁合理运用了这个动力,谁就会成为财富的聚集地。当然,这种“金字塔尖上”的人和企业总是凤毛麟角,...
C语言--视频精讲
C语言作为被长期使用的编程语言,可以被运用到各种操作系统,游戏,开发中。本课程作为互联网上首家使用C99录制的C语言教程,展现了全面、专业。标准的C语言教程。可以帮助学员从基础开始一点点的深刻理解C语言。 a:0:{}
Java基础核心技术:面向对象编程(day05-day07)
本套Java视频完全针对初级学员,课堂实录,自发布以来,好评如潮!Java视频中注重与学生互动,讲授幽默诙谐、细致入微,覆盖Java基础所有核心知识点,同类Java视频中也是代码量大、案例多、实战性强的。同时,本Java视频教程注重技术原理剖析,深入JDK源码,辅以代码实战贯穿始终,用实践驱动理论,并辅以必要的代码练习。 通过20的课程学习,使学员掌握java核心语法、面向对象思想编程、异常处理、IO流、集合类、多线程、网络编程等。
EXCEL VBA编程(excel办公高手必经之路)
宏基础 VBA编程基础 常用语句(分支、循环语句的基础及应用) VBA结合工作表的函数功能的应用等 如果您会了所有的excel技能都不能解决工作的数据问题。那请选择VBA技术完成。本季主要讲解关于VBA的基础知识。为走向更高阶的excel技术打下基础。为更高效的办公打下基础。
Control-flow Enforcement Technology Preview 2.0 spec
Intel CFI技术手册。 Intel CFI从CPU层次检测和防止ROP/JOP攻击,主要包含shadow stack和endbranch两项技术。 比软件层面的防御方法,如微软的CFG,更有效。目前Intel最新编译器已经支持此技术
后备电池及储能电池巡检白皮书.pdf
后备电池及储能电池巡检白皮书,施耐德电气主编的,数据中心电池巡检白皮书。
打通Linux脉络系列:进程、线程和调度
本课程分成4个组成部分,每次课60分钟,每次课后留下3-4个练习题,可以在Linuxer公众号留言讨论答案和做题心得。 第一部分:深入彻底搞清楚进程生命周期,进程生命周期创建、退出、停止、以及僵尸是个什么意思; 第二部分:深入分析进程创建的写时拷贝技术、以及Linux的线程究竟是怎么回事(为什么称为轻量级进程),此部分也会搞清楚进程0、进程1和托孤,以及睡眠时的等待队列; 第三部分:搞清楚Linux进程调度算法,不同的调度策略,实时性,完全公平调度算法; 第四部分:讲解Linux多核下CPU、中断、软负载均衡、cgroups调度算法以及Linux为什么不是一个实时操作系统。 掌握Linux脉络知识:进程、线程和调度。
CListControl设置颜色
CListControl类派生,设置单元格颜色,丰富功能
Linux系统管理员/网络管理员(PDF版)
两本非常好的Linux系统学习的书 系统管理主要介绍Linux系统的结构、管理、命令等 网络管理主要从网络协议角度出发阐述Linux的网络功能
STM32F103中文数据手册
这个里面包含了STM32F103的各种型号的数据手册,方面理解
WPF中用于嵌入其他进程窗口的自定义控件(AppContainer)
WPF中用于嵌入其他进程窗口的自定义控件(AppContainer) 具体见博文:http://blog.csdn.net/zzzwwwppp11199988899/article/details/78131292
Java之优雅编程之道
《Java之优雅编程之道》主要是针对有一定基础的Java学员。本课程主要是围绕着如何编写整洁的Java代码,如何实现Java代码重构,以及如何提高Java代码性能而展开的一系列课程。本课程结合自身的真实工作经验,从常用的注释,名字,集合,数组,方法等等开始讲起,由浅到深,层层深入。通过本课程的学习,可以帮助Java学员编写出整洁,规范,高效的代码。 《Java之优雅编程之道》通过本人在银行3年的工作经验总结,帮助Java开发工程师编写出规范,整洁,以及高性能的Java代码,让学员把这些工作经验运用到真实项目当中,提高学员的编程水平。
MSP430_RTC模块学习总结
这是自己在学习MSP430时,对RTC模块的总结,希望可以帮助刚入门者
CIET-2019-0504 数据中心运维管理人才标准.pdf
数据中心运维管理,人才标准,欢迎查看共同学习。
webrtc demo使用方法
谷歌webrtc demo的使用教程,webrtc源代码自行从官网下载,该教程只给出了源代码详细的使用方法,包括如何编译
朴素贝叶斯算法做文本分类-代码
https://blog.csdn.net/zzZ_CMing/article/details/89478436 朴素贝叶斯算法做文本分类,用的是谭松波酒店语料。
FANUC的3210密码破解软件
FANUC 3210 密码破解软件,读取SRAM备份文件,不需要注册,完全免费。
PDB符号文件查看工具 symview,pdbxtract
PDB符号文件查看工具, 包含2个工具symview 和pdbxtract symview可查看文件所有原始信息 pdbxtract 可方便查看结构体等信息, 可导出头文件或xml
FANUC PMC密码破解程序
FANUC 31I PMC密码破解程序 用于OID,30I,31I等FANUC的密码破解
SIEMENS 840D SL调试手册.rar
里面含有840dsl的全部维修,调试,使用手册和资料,编程手册,报警诊断手册,PLC维修调试,系统报警代码,HMI高级手册.等.
(亲测正确版)ASP.NET-c#-捕捉网页快照-网站截图-网站缩略图
(亲测正确版)ASP.NET-c#-捕捉网页快照-网站截图-网站缩略图 ★★★★★★★★★★★★★★★★★★★★★★★★★★★ 建立网站缩略图源码 网页快照ASP.NET网站截图 网页快照ASP.NET c# 输入网址获取网站图片 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 网上流传了很多网站缩略图的asp.net,但是都无法使用,本人亲测,该代码进行优化,速度快,效率高,占内存非常少。
FANUC B-64113C_01 0i-C 0i Mate-C连接说明书(硬件)册
FANUC B-64113C_01 0i-C 0i Mate-C连接说明书(硬件)册
Node.js进阶教程第一步(基础篇)
本课程从Node.js的安装配置开始,包括函数调用,模块调用,路由,文件操作,异常处理,参数接收,正则表达式,连接数据库,事件等内容,使学员通过十六课时,学习Node.js的基础知识,掌握JS开发服务端的编写方法,了解Node.js的运行机制,为深入学习后期各类框架打好基础。 学习Node.js的基础知识,掌握JS开发服务端的编写方法,了解Node.js的运行机制,为深入学习后期各类框架打好基础。
jquery自己写的文件目录
jquery自己写的文件目录,HttpServlet+js+jsp
Java学习指南(网站开发)
本篇介绍使用Java进行网站开发的各环节的基本技术。 所采用的开发环境IDE为MyEclipse 10, 服务器为Tomcat7.x。 (第1版,2016/4,已完结) 网站开发的各项基础技术,这是网站开发的根本。
发帖
JavaScript
创建于2007-09-28

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2003-08-08 07:29
社区公告
暂无公告