如果单击提交,如何关闭输入

How do I close the input if submit is clicked

所以我有一个带有 class 搜索的提交按钮,当点击时带有 class searchBar 的输入值是空的,然后 searchBar display:block 和不提交表格。但是,如果值仍然为空但再次单击提交(搜索),我希望能够关闭 searchBar。

$('#form').submit(function() {
if ($.trim($(".searchBar").val()) === "") {
    $('.searchBar').css('display', 'block');
    return false;
} else {
  return true;
}
});

HTML:

 <form id="form" action="">
  <input value="" type="text" placeholder="Product name or ID" name="search" class="searchBar" />
  <input type="submit" readonly="readonly" class="search" />
</form>

CSS:

  #form .searchBar {
  display: none;
}

如果我对问题的理解是正确的,您可以切换搜索框的显示来实现您所需要的

 $('.searchBar').css('display', 'block'); // instead of this


 $('.searchBar').toggle(); // put this

根据你的代码我做了这样的事情

$('#form').submit(function() {
                if ($.trim($(".searchBar").val()) === "") {
                    $('.searchBar').show();
                    return false;
                } else {
                    return true;
                }
            });
#form #search {
                display: none;
            }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="form" action="" method="post">
            <input value="" type="text" placeholder="Product name or ID" name="search" id="search" value="testValue" class="searchBar" />
            <input type="submit" readonly="readonly" class="search" />
        </form>

如果喜欢可以查看这个例子

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Example</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>        
        <style>
            #form #search {
                display: none;
            }
        </style>
    </head>
    <body>
        <form id="form" action="" method="post">
            <input value="" type="text" placeholder="Product name or ID" name="search" id="search" value="testValue" class="searchBar" />
            <input type="submit" readonly="readonly" class="search" />
        </form>
        <script>

            $('#form').submit(function() {
                if ($.trim($(".searchBar").val()) === "") {
                    $('.searchBar').show();
                    return false;
                } else {
                    return true;
                }
            });
        </script> 
    </body>
</html>

如果我没看错你可以试试这段代码:

var countClick=0;
$('#form').submit(function() {
    countClick++;
    if ($.trim($(".searchBar").val()) === "") 
    {    
        if(countClick==1)
        {
            $('.searchBar').css('display', 'block');
            return false;
        }
        else
        {
            $('.searchBar').css('display', 'none');
            return false;
        }
    } 
    else 
    {
        return true;
    }
});