Javascript 停止HTML5表单发布、刷新或在Submit上打开新窗口
我使用HTML5表单标记作为内置的客户端验证程序,但我不希望它提交任何东西,因为我只需要运行一个Javascript函数 如何停止表单的Post方法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()" />
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({
...
});
}