如何拦截表单的脚本submit动作======================>用于htc中

yonghengdizhen 2003-07-27 05:55:16
RT
...全文
225 22 打赏 收藏 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wsj 2003-08-05
  • 打赏
  • 举报
回复
试一下方法,成功的话告诉我:

在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>
jzywh 2003-07-30
  • 打赏
  • 举报
回复
不用拦截

不用 type=submit
yonghengdizhen 2003-07-30
  • 打赏
  • 举报
回复
document.scripts检索的只是一个script标记集合,它无法检索其定义的链入内容,包括函数定义..

如果能检索它的内容,要实现hook就容易了,我可以篡改函数的实现.让它路由至我的函数中
yonghengdizhen 2003-07-30
  • 打赏
  • 举报
回复
document.scripts检索的只是一个script标记集合,它无法检索其定义的链入内容,包括函数定义..

如果能检索它的内容,要实现hook就容易了,我可以篡改函数的实现.让它路由至我的函数中
liuruhong 2003-07-30
  • 打赏
  • 举报
回复
document.scripts可以全部获得,似乎只有如此了,真正意义的hook应该不行,除非你使用ActiveX
yonghengdizhen 2003-07-30
  • 打赏
  • 举报
回复
to liuruhong(蓝色街灯)
如果有链入的外部函数呢?
liuruhong 2003-07-30
  • 打赏
  • 举报
回复
我个人认为,最简单的方法就是查找。。。。。。。替换

找到所有使用 obj.submit()
替换成 自己编写的函数,最重要的是可以加上fireEvent()我是说IE5.5+

其他偶想不出好办法了阿
liuruhong 2003-07-30
  • 打赏
  • 举报
回复
可惜dom的方法不可以重写

偶无法帮忙了,偶认为最可行的方法就是使用查找替换原来的submit,然后都加入自己的回调函数
yonghengdizhen 2003-07-30
  • 打赏
  • 举报
回复
当然,我可以利用download behavior实现将src指向的文件Z抓回来,但是对那些运行时创建的引用和运行时创建的函数仍然是无能为力..

liuruhong 2003-07-30
  • 打赏
  • 举报
回复
老兄,如果那样,偶就想不出特别好的方法了

另外对于源文件,还有一个方法就是search --replace,嘿嘿
yonghengdizhen 2003-07-29
  • 打赏
  • 举报
回复
是的..
jsidiot 2003-07-29
  • 打赏
  • 举报
回复
拦截?
yonghengdizhen 2003-07-29
  • 打赏
  • 举报
回复
我想到的一个变通办法就是检测对submit方法的调用,并在其调用前插入自己的处理.
只是不知道window有没有类似window.functions之类的成员可以检索页面中定义的所有function然后用正则表达式对function body进行查找.
liuruhong 2003-07-29
  • 打赏
  • 举报
回复
类似SetWindowHook在web编程中估计有点够呛,不过倒是可以探讨探讨实现的技巧
yonghengdizhen 2003-07-29
  • 打赏
  • 举报
回复
to liuruhong(蓝色街灯)
就是为了减少htc的外部依赖,在不改动原有文档的函数的基础上在submit事件链中增加相应的处理.类似于win32 api中的SetWindowHook,
对于不合法的提交动作进行拦截.如果一个软件中上千个页面提交都去改动函数的话htc就失去意义了.

做这个的目的是为了将前一段时间写的一个htc表单验证组件进一步完善,实现对用户完全透明性.按照指定的验证接口结合正则表达式,进行验证并在相应的上下文中进行适当的处理.
Mongris 2003-07-29
  • 打赏
  • 举报
回复
不好意思
看错了楼主的题意

我对此问题的做法是在FORM.htc中创建一个新的function来封装customfunc和submit
liuruhong 2003-07-29
  • 打赏
  • 举报
回复
Mongris(Mongris) 老兄这样写,在使用代码submit的时候,是没有办法调用onsubmit的
Mongris 2003-07-29
  • 打赏
  • 举报
回复
<PUBLIC:COMPONENT>
<ATTACH EVENT="onsubmit" HANDLER="customFunc" />
<SCRIPT LANGUAGE="JavaScript">
function customFunc(){
//code here
}
</SCRIPT>
</PUBLIC:COMPONENT>
liuruhong 2003-07-29
  • 打赏
  • 举报
回复
5.0以下的我不是很清楚,刚才查了一下资料,IE5.5以上可以使用fireEvent来触发onsubmit事件,就可以可以要求在form.submit()之前调用,这个可能是一个变通的方法,在你的客户代码中如果是直接submit的,就添加fireEvent("onsubmit"),我还没有去测试过,只是觉得这个应该是一个替代的解决方案
yonghengdizhen 2003-07-28
  • 打赏
  • 举报
回复
脚本调用submit是不会引发onsubmit事件的,所以钩住onsubmit也是白搭
加载更多回复(2)
源码直接下载地址: https://pan.quark.cn/s/b2e30c4b4277 依据所提供的文件资料,可以总结出以下核心内容: 1. 华硕玩家国度x79 R4G主板属于高端级别的主板,归类于华硕玩家国度系列中的RAMPAGE IV GENE型号。该主板主要面向高端用户及游戏爱好者,具有卓越性能的特点。 2. 华硕玩家国度x79 R4G主板的使用指南采用简体中文版本,并以PDF格式发布。用户手册全面地阐述了该主板的操作方法和各项功能。 3. 版权声明明确指出,本手册包含的所有内容均受到著作权法的保护。未经华硕电脑股份有限公司(简称“华硕”)的许可,禁止进行任何形式的复制、剽窃、翻译或分发。 4. 免责声明具体说明,华硕提供的用户手册依照其发布时的状态呈现,不提供任何明示或暗示的保证。用户使用手册所面临的风险需自行承担,且华硕不对使用手册后的任何结果或信息的精确性或可靠性提供保证。 5. 用户手册中强调,使用本手册后可能引发的风险和损失,涵盖但不限于利益损失、业务中断、数据遗失或其他经济上的损失,华硕及其授权人员、雇员等均不承担相应责任。 6. 华硕拥有随时更新用户手册的权力。当产品规格或驱动程序发生变化时,用户手册将进行相应的修订。用户可以通过华硕的客户服务网站或直接联络华硕电脑客户关怀中心以获取最新版本的信息。 7. 第三方产品名称或内容的所有权和知识产权归属于各自的所有者,并受到相关法律法规的保护。 8. 在华硕的保修政策中,若产品经历过未经华硕授权的维修、规格调整、部件更换或其他未授权操作,或者产品序列号模糊不清或遗失,产品将不再享受华硕的保修和服务。 9. 华硕供应的主板及显卡产品在中国大陆地区(不包括港澳台地区)实施三年免费保修服务及全国联保服务...
内容概要:本文围绕2026年高教社杯全国大学生数学建模竞赛B题“无线电干扰源的快速自动定位与清除”提供了一套完整的数学建模、算法实现与论文撰写的免费资源。该资源由“荔枝科研社”出品,依托一个涵盖智能优化算法、机器学习、深度学习、信号处理、通信技术、电力系统管理等多个前沿领域的综合性科研资源共享平台。文档以MATLAB和Python为主要工具,聚焦于复杂工程问题的建模与求解,尤其在干扰源定位、状态估计、路径规划及优化调度等方面具有突出的应用价值。资源不仅包含竞赛题目解析,还提供了大量可复现的代码实例与技术文档,旨在帮助用户深入理解算法原理并提升科研实践能力。; 适合人群:具备一定编程基础,特别是熟练掌握MATLAB或Python语言的本科生、研究生,正在备战数学建模竞赛的学生,以及从事通信、信号处理、电力系统等相关领域研究的科研人员和技术开发者。; 使用场景及目标:①为参赛学生提供B题的完整解题思路、模型构建方法与代码实现路径,加速竞赛准备进程;②为科研工作者提供高质量、可复现的算法代码与技术参考,推动智能算法在无线通信、应急响应、环境监测等实际场景中的应用研究;③促进跨学科技术融合,支持教学、科研与工程实践的协同发展。; 阅读建议:建议读者结合文中提供的网盘链接与《荔枝科研社资源整理目录》系统性地查阅资料,优先选择与自身研究方向契合的技术模块进行深入学习,并动手运行代码以验证算法效果。同时推荐关注微信公众号“荔枝科研社”以获取持续更新的技术内容与社群支持。

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧