我正在使用内置的客户端验证器的HTML5表单标签,但我不希望它提交一个东西,因为我刚刚运行了Javascript函数。
如何停止表单的Post方法。
干杯 - 凯乌斯
答案 0 :(得分:5)
在函数调用后添加 return false ,如下所示:
<input .... onclick="function();return false;" />
或者您可以像这样从函数返回true / false:
<input .... onclick="return function()" />
答案 1 :(得分:1)
如果你使用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代码。
答案 2 :(得分:1)
我倾向于按原样保留我的函数,并在onsubmit处理程序中添加一个返回false,例如:
<form onsubmit="aFunction(); return false;">
答案 3 :(得分:0)
将onsubmit属性添加到表单标记:
<form onsubmit="return myfunction()">
确保为函数返回bool
function myfunction() {
// do your validation
if (validation.passes) { // you will need to change this line !!!
return true; // to submit
} else {
return false; // to prevent submit
}
}
答案 4 :(得分:0)
在表单中添加一个onsubmit处理程序,例如
<form method="POST" onsubmit="return sendForm();">
然后定义函数并将false添加为返回值:
function sendForm() {
//do your ajax request...
return false;
}
答案 5 :(得分:0)
我已经尝试了所有解决方案,但仍然需要在ajax进程后重新加载页面:
<form id="form2" method="POST" onsubmit='sent(); return false;' >
function sent(){
$.ajax({
...
});
}