我尝试使用jquery提交功能提交表单。当我提交没有处理程序的表单时,一切正常。提交函数与处理程序根本没有提交。它也不会调用处理程序代码。
这是不起作用的代码
jsfiddle.net/ge5575nj/2 /
任何帮助将不胜感激
答案 0 :(得分:0)
你走了。不需要将event.preventDefault与处理程序一起使用。如果你想阻止你的处理程序提交return false,你想继续返回true。
$(document).ready(function() {
$(document).on('keydown', '#squery', function(e) {
if (e.keyCode == 13) {
/* with handler */
$('#searchform').submit(function(event) {
alert("hi");
return true;
});
/* without handler */
$('#searchform').submit()
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="POST" action="/search/" id="searchform">
<input autocomplete="off" id="squery" type="text" name="q" class="form-control">
<input name="qtype" id="searchType" hidden value="0">
</form>
答案 1 :(得分:0)
您可以创建另一个函数来处理提交事件
$(document).ready(function() {
$(document).on('keydown', '#squery', function(e) {
if (e.keyCode == 13) {
$('#searchform').submit()
}
});
$('#searchform').on('submit',function(e){
e.preventDefault();
alert('Hi');
});
});