编辑开始*** 更新了功能,但是,点击“回车”不会触发第二个提交按钮。还添加这行代码:
document.getElementById('btn-default').removeAttribute("已禁用");
以防用户想切换回原来的搜索按钮。 编辑结束***
我有两个提交按钮,第一个是通用输入搜索框的默认按钮。但是,如果用户单击“高级”链接,它将隐藏常规搜索输入以及提交按钮。并显示“高级”提交按钮。当按下回车键时,它将默认为第一个提交按钮。有没有办法检测提交按钮何时隐藏,以使用显示的提交按钮?下面是我的代码的一部分:
表格:
<form id='searchGroup' class='form-inline mt-2 mt-md-0' action='test.php' method='POST'>
<div class="col-md-5" id="defaultDisplay" >
<input class='form-control mr-sm-2' type='text' placeholder='' aria-label='Search' name='SearchAll' autofocus='autofocus'>
<!-- STANDARD SEARCH BUTTON -->
<input id='btn-default' class='btn btn-default my-2 my-sm-0' type='submit' name='SearchStd' value='Search'/>
</div>
<div class="collapse" id="collapseExample">
<!-- MULTIPLE INPUTS HERE -->
<!-- ADVANCED SEARCH BUTTON -->
<input class='btn btn-primary' type='submit' name='SearchAdv' value='Search'/>
</div>
</form>
显示div的功能:
<script>
function switchVisible() {
if (document.getElementById('defaultDisplay')) {
if (document.getElementById('defaultDisplay').style.display == 'none') {
document.getElementById('defaultDisplay').style.display = 'block';
document.getElementById('btn-default').removeAttribute("disabled");
}
else {
document.getElementById('defaultDisplay').style.display = 'none';
document.getElementById('btn-default').setAttribute("disabled", "disabled");
}
}
}
</script>
最佳答案
您可以做的一件事是仅创建两个表单,一种用于基本搜索,一种用于高级搜索。然后在两者之间切换显示。这是一个很小的、可以忽略不计的冗余,可以解决这个问题,而无需求助于 JavaScript 解决方法。
或者,只需使用简单和高级的一个表单,并且只有一个提交按钮。首先将您的表单视为高级表单。 “简单搜索”只是带有空高级字段的高级搜索。
关于javascript - 两个提交按钮,其中一个始终隐藏,如何按 Enter 并使用正确的提交按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53340905/