Javascript 停止HTML5表单发布、刷新或在Submit上打开新窗口

Javascript 停止HTML5表单发布、刷新或在Submit上打开新窗口,javascript,html,Javascript,Html,我使用HTML5表单标记作为内置的客户端验证程序,但我不希望它提交任何东西,因为我只需要运行一个Javascript函数 如何停止表单的Post方法 Cheers-Caius在函数调用后添加一个return false,如下所示: <input .... onclick="function();return false;" /> 或者您可以从函数返回true/false,如下所示: <input .... onclick="return function()" />

我使用HTML5表单标记作为内置的客户端验证程序,但我不希望它提交任何东西,因为我只需要运行一个Javascript函数

如何停止表单的Post方法


Cheers-Caius

在函数调用后添加一个return false,如下所示:

<input .... onclick="function();return false;" />

或者您可以从函数返回true/false,如下所示:

<input .... onclick="return function()" />

如果使用jQuery,可以执行以下操作:

$('#your_form_id').submit(function(e){
   e.preventDefault(); 
  // do your staff
});
您也可以在没有框架的情况下执行此操作:

document.getElementById('your_form_id').addEventListener('submit' function() {
  // do your staff
  return false;
});

在“//do your staff”中,您可以编写ajax代码。

将onsubmit属性添加到表单标记中:

<form onsubmit="return myfunction()">

在表单中添加onsubmit处理程序,例如

<form method="POST" onsubmit="return sendForm();">

我倾向于让函数保持原样,并向onsubmit处理程序添加一个返回false,例如:

<form onsubmit="aFunction(); return false;">

我已经尝试了您的所有解决方案,但在ajax过程之后仍然无法重新加载页面:

<form id="form2" method="POST" onsubmit='sent(); return false;' >

function sent(){
    $.ajax({
        ...
    });
}

函数发送(){
$.ajax({
...
});
}

jquery是一个选项吗?还是原始js?谢谢你的回复。好的,这会停止提交过程,但现在验证似乎不起作用。有什么想法吗?不确定,添加代码不应该阻止函数运行。检查函数是否正在运行(可能添加一些调试代码),如果使用下面的示例,请确保函数返回true/false。
<form onsubmit="aFunction(); return false;">
<form id="form2" method="POST" onsubmit='sent(); return false;' >

function sent(){
    $.ajax({
        ...
    });
}