我们如何在页面中制作表单而不是在按下时提交Enter- 而是。它与按下特定按钮或图标或图像的作用相同吗?
以下是我的表格内容:
<input type="text" id="txt" /><input type="button" value="search"
onclick="searchresult()" />
问题是,如果我按Enter,表单会提交并且文本字段会自行清除,但该功能searchresult()不会显示其效果。当只按下按钮时,它工作得很好。
我们如何在页面中制作表单而不是在按下时提交Enter- 而是。它与按下特定按钮或图标或图像的作用相同吗?
以下是我的表格内容:
<input type="text" id="txt" /><input type="button" value="search"
onclick="searchresult()" />
问题是,如果我按Enter,表单会提交并且文本字段会自行清除,但该功能searchresult()不会显示其效果。当只按下按钮时,它工作得很好。
HTML
<input type="text" id="txt"/>
<input type="button" value="search"/>
jQuery
$('input[type=text]').on('keyup', function(e) {
if(e.which == 13) { // 13 is keycode for enter
e.preventDefault();
}
})
您还可以绑定到submit()以下
$('form').submit(function(e) { // instead of only `form`,
// use with `id` or `class` combination
if(e.which == 13) {
e.preventDefault();
}
});
不要忘记将代码放入
$(document).ready(function() {
// your code
});
简而言之
$(function() {
// your code
});
尝试:
$('form').submit(function(event){
if(!$(':focus',this).is(':button'))
event.preventDefault();
});
这附加到表单本身。如果它是通过单击提交按钮以外的任何方式提交的,它会停止提交过程。为了获得更好的性能,缩小'form'选择器的范围。
或者,您可以绑定到onsubmit事件以在提交表单之前执行任何处理,而不是禁用 enter 键。从MDN 文档:
当用户单击表单 () 中的提交按钮时,将引发提交事件。
尝试这个:
形式
<form id="myForm">
<input type="text" id="txt" />
<input type="submit" value="search" />
</form>
js
<script>
$(document).ready(function(){
$("#myForm").submit(function(e){
e.preventDefault();
searchresult();
});
});
</script>