在html中搜索javascript不起作用

问题描述 投票:0回答:1

我想在tpl文件的站点标题中显示搜索


<div  class="search-widget" >

<form method="get" action="art/search">

<input type="text"  id="artnum" value="" maxlength="40" placeholder="" > 


<button type="submit"  onclick="TDMArtSearch()">
<i class="material-icons search">&#xE8B6;</i>
 <span class="hidden-xl-down"></span>
        </button>
</form>
<div class="tclear"></div>

<script type="text/javascript">

function TDMArtSearch(){
    var art = $('#artnum').val();
    if(art!=''){
        art = art.replace(/[^a-zA-Z0-9.-]+/g, '');
        location = '/art/search/'+art+'/';
    }
}
$('#artnum').keypress(function (e){
  if(e.which == 13){ TDMArtSearch(); return false;}
});
</script

        ></button>
    </form>
</div>

搜索无效。如果删除form method="get" action="art/search"。然后搜索有效。仅在单击搜索按钮时有效。如何使用form method使用回车键开始搜索

javascript php html smarty
1个回答
0
投票
只需使表单在提交时执行javascript函数:

<div class="search-widget" > <form method="get" action="art/search" onsubmit="TDMArtSearch(); return false;"> <input type="text" id="artnum" value="" maxlength="40" placeholder="" > <button type="submit" onclick="TDMArtSearch()"> <i class="material-icons search">&#xE8B6;</i> <span class="hidden-xl-down"></span> </button> </form> <div class="tclear"></div> <script type="text/javascript"> function TDMArtSearch(){ var art = $('#artnum').val(); if(art!=''){ art = art.replace(/[^a-zA-Z0-9.-]+/g, ''); location = '/art/search/'+art+'/'; } } </script ></button> </form> </div>

onsubmit属性是在提交表单时执行javascript,而返回false则是为了停止“常规”提交。通过添加侦听器和使用更清晰的HTML代码,可以有更好的方法,但是一旦知道了它的工作原理,您就可以查找它。
© www.soinside.com 2019 - 2024. All rights reserved.