gpt4 book ai didi

javascript - Jquery提交表单在点击事件时有问题

转载 作者:行者123 更新时间:2023-11-30 15:52:14 25 4
gpt4 key购买 nike

我正在创建搜索表单,当用户单击搜索图标时,我需要显示文本框,输入内容后,再次单击相同的搜索图标,它需要显示搜索结果。下面是我使用的代码。

HTML 和 Javascript

<div class="search_right"> 
<div class="search-top-container">
<div class="search-top"></div>
<div class="search-form">
<div class="search-form-border"></div>
<div class="search-top-title"><span class="icon"></span>Search</div>
<form id="search_mini_form" action="%%GLOBAL_ShopPath%%/search.php" method="get">
<div class="form-search">
<input id="search" type="text" name="q" value="" class="input-text" style="display:none;" autocomplete="off">
<button type="submit" title="Search" id="but" onclick="tog_input();" >
</button>
</div>
<div id="search_autocomplete" class="search-autocomplete" style="display: none;"></div>
<script type="text/javascript">
function tog_input(){
if(jQuery("#search").is(':visible'))
{
if(jQuery("#search").val()!=''){ jQuery("#search_mini_form").submit();
}else{
jQuery("#search").animate({ width: 'hide' });
}
}
else
{
jQuery("#search").animate({ width: 'show' });
}
}
</script>
</form>
</div>
<div class="clear"></div>
</div>

现在的问题是,当我单击搜索图标时,它显示的是搜索页面而不是文本框,如有任何帮助,我们将不胜感激。

最佳答案

更改内联代码:

<button type="submit" title="Search" id="but" onclick="tog_input();">Submit</button>

收件人:

<button type="submit" title="Search" id="but" onclick="tog_input(this, event);">Submit</button>

避免这一行:

jQuery("#search_mini_form").submit(); 

仅在需要时阻止表单提交。

所以:

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>

<div class="search_right">
<div class="search-top-container">
<div class="search-top"></div>
<div class="search-form">
<div class="search-form-border"></div>
<div class="search-top-title"><span class="icon"></span>Search</div>
<form id="search_mini_form" action="%%GLOBAL_ShopPath%%/search.php" method="get">
<div class="form-search">
<input id="search" type="text" name="q" value="" class="input-text" style="display:none;"
autocomplete="off">
<button type="submit" title="Search" id="but" onclick="tog_input(this, event);">Submit
</button>
</div>
<div id="search_autocomplete" class="search-autocomplete" style="display: none;"></div>
<script type="text/javascript">

function tog_input(obj, e) {

if (jQuery("#search").is(':visible')) {

if (jQuery("#search").val() == '') {

jQuery("#search").animate({width: 'hide'});
e.preventDefault();
}
}
else {

e.preventDefault();

jQuery("#search").animate({width: 'show'});
}
}
</script>
</form>
</div>
<div class="clear"></div>
</div>
</div>

关于javascript - Jquery提交表单在点击事件时有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com