在页面提交之前直接执行javascript代码

时间:2011-11-15 08:56:12

标签: javascript

有一些类似的问题,但没有完全相同。

我想知道在页面提交(即POST)之前是否有可用于执行某些JS的事件。

5 个答案:

答案 0 :(得分:42)

这样的东西?

<form onsubmit="do_something()">

function do_something(){
   // Do your stuff here
}

如果您像下面的代码一样放置return,则可以通过从do_something()函数返回false来阻止表单提交。

<form onsubmit="return do_something()">

function do_something(){
   // Do your stuff here
   return true; // submit the form

   return false; // don't submit the form
}

答案 1 :(得分:25)

如果您使用的是表单,则可以使用 onsubmit 事件。

使用jQuery,你可以用

做到这一点
$('#myform').submit(function() {
  // your code here
});

答案 2 :(得分:6)

您可以将事件处理程序绑定到submit事件(以下代码假设您id上有form):

document.getElementById("someForm").onsubmit = function() {
    //Do stuff
};

答案 3 :(得分:3)

是的,您可以使用表单上的onsubmit活动。

在纯HTML(没有jQuery)中,您可以使用:

<form onSubmit="mySubmitFunction()">
   ...
</form>

此处有更多详情:http://www.w3schools.com/jsref/event_form_onsubmit.asp

答案 4 :(得分:0)

以下代码将从窗口级别中止提交,而不会提交表单。

window.onsubmit = function() { alert('aborting submit'); return false; };

经过IE11的测试,因此它应可用于某些没有jQuery的旧版应用程序。