[英]how to prevent submitting a form by enter and also keep enable enter for other field like search in grid etc
[英]How to prevent submitting search form when search field is empty?
如果搜索框为空,则下面的代码将禁用搜索按钮。 当将搜索按钮的输入类型设置为submit
则既不提交也不输入键盘上的Enter键,而是提交空白表格,但是当我将输入类型更改为button
并将光标置于输入字段中并按Enter按钮时,即使张贴了空白表格也导致重新加载页面。 当搜索字段为空时,如何防止在按Enter键时提交搜索表单?
<form action="search.php" method="post">
<input type="text" class="search" placeholder="search here"/>
<input type="submit" class="Button" value="search"/>
</form>
<script>
$(document).ready(function(){
$('.Button').attr('disabled',true);
$('.search').keyup(function(){
if($(this).val().length !=0)
$('.Button').attr('disabled', false);
else
$('.Button').attr('disabled',true);
})
});
</script>
为表单提交添加事件监听器
$('form').submit(function(e){
// check logic here
if ($('.search').val().length < 1)
e.preventDefault()
});
如果没有值,则e.preventDefault
将避免提交表单
否则,表格将正常提交
你可以这样尝试
$('form').submit(function(e){
if ($('.search').val().length<=0)
return false;
});
这是经过一些修改的代码:
$(document).ready(function(){ // By default submit is disabled $('.Button').prop('disabled', true); $('.search').keyup(function() { if($(this).val().length !=0 ) { $('.Button').prop('disabled', false); } else { $( ".search").focus(); $('.Button').prop('disabled', true); e.preventDefault(); } }); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form action="search.php" method="post"> <input type="text" class="search" placeholder="search here"/> <input type="submit" class="Button" value="search"/> </form>
如果要更改disabled
则应使用prop而不是attr
$(function() {
$('.Button').prop('disabled', true);
$('.search').keyup(function() {
$('.Button').prop('disabled', !$(this).val());
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.