form表单通常由type="submit"的按钮触发,从点击到提交表单,要经历下面两个方法:
- onsubmit();
- submit();
有的网页因某些原因,放弃了标准的按钮、用type="button"的按钮代替,然后再手动触发submit(),如下:
<input type="button" value="提交" onclick="document.form.submit();" />
这时候,问题产生了,因为onsubmit()里的程序将不被执行!在DHTML手册里,多次提到了二者的关系:
submit Method 说明 写道
The submit method does not invoke the onsubmit event handler. Call the onsubmit event handler directly. When using Microsoft® Internet Explorer 5.5 and later, you can call the fireEvent method with a value of onsubmit in the sEvent parameter.
所以,解决办法就是:在submit()之前,先手动触发onsubmit事件,请下面的完整代码(引用了jquery):
<html>
<head>
<script src="jquery-1.3.2.min.js"></script>
</head>
<body>
<form id="myform" action='/Personinfo/infoAction' method='post' name='Users_form' >
生日:<input type='text' name="obj_Users[birth]" value='1971-01-01' />
<input type='button' value='更新个人资料' onclick="foo();" />
</form>
</body>
</html>
<script language=javascript>
//监听obsubmit事件
$(window).load(function(){
$("#myform").bind("submit", function() { alert('现在执行 onsubmit 事件!'); return false;})
});
function foo(){
var result = false;
//IE fire event
form = document.Users_form;
if (form.fireEvent) {
result = form.fireEvent('onsubmit');
//DOM2 fire event
} else if (document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent('submit', false, true);
result = form.dispatchEvent(ev);
}
if(result) {document.Users_form.submit();}
}
</script>
分享到:
相关推荐
一、问题描述 类比一下,我用input.select()做了测试,却能响应select事件。这个原因先放一边,我们看看先怎么把眼下的问题解决了。 不响应事件的代码示例: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 实际...
Battery Historian Docker 解决没有submit按钮
表单元素拥有submit方法,同时也具有onsubmit事件句柄,用于监听表单提交。可以使用elemForm.submit();方法触发表单提交。1、表单元素中出现了name=”submit”的元素这种情况下elemForm.submit();将不会触发表单提交...
当用JS调用form的方法submit直接提交form的时候,submit事件不响应。为什么?知道的请回复。类比一下,我用input.select()做了测试,却能响应select事件。这个原因先放一边,我们看看先怎么把眼下的问题解决了。不...
RSS Submit是個很有趣的小軟體,主要功能就是透過RSS的機制幫你將網站或部落格登錄到全世界80多個搜尋引擎中,幾分鐘內就可以快速推廣網站的能見度,雖然所支援的網站大部分都是英語或其他非中文的語言,不過總是多...
最近看到Q群里有人说chrome(谷歌浏览器)不支持form.submit方法,求解决办法。闲的时候亲自测试了一番,发现chrome竟然真的不支持form.submit,测试的时候用的是Jquery的,也不支持,于是乎研究了半天,终于找到了...
让submit只提交一次
主要为大家详细介绍了jquery submit()不能提交表单的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
submit() 当表单提交时触发 select() 当文本框(包括和中的文本被选中的时触发) scroll() 当滚动条发生变化时触发 resize() 当调整浏览器窗口大小时触发 2、事件的绑定 bind() 方法:可以向被选元素添加一个或多
Ext AJAX submit方法实例Ext AJAX submit方法实例
这是一个ABAP子程序SUBMIT调用的方法,要根据实际灵活使用。
我就废话不多说了,大家还是直接看代码吧~ <form @submit=add>...以上这篇解决Vue @submit 提交后不刷新页面问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
页面提交submit的几种方法,让你有更好,更多的提交方式
平常自己做触发按钮,基本不用a 标签,但是昨天不知道什么 问题,竟然用了 a 而且还给了 href 为空,由于这个a 的class 有多个 内容,所以检查时候根本就没有去看href 没有写内容。所以,每次进行click 操作的时候 ...
submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上。 在javaScript中关于submit和button的...
本文实例讲述了JS定义网页表单提交(submit)的方法。分享给大家供大家参考。具体如下: 这段代码表示网页表单提交时不是提交到指定的页面,而是执行一个特定的函数 [removed] function saveInfo() { localStorage...
主要介绍了JS中的form.submit()不能提交表单的错误原因,本文最后得出结论是按钮的ID、名称不要使用submit,需要的朋友可以参考下