在html中搜索javascript不起作用

在html中搜索javascript不起作用,javascript,php,html,smarty,Javascript,Php,Html,Smarty,我想在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 cla

我想在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>

;
函数TDMArtSearch(){
var art=$('#artnum').val();
如果(艺术!=''){
艺术=艺术替换(/[^a-zA-Z0-9.-]+/g');
位置='/art/search/'+art+'/';
}
}
$('#artnum')。按键(功能(e){
如果(e.which==13){TDMArtSearch();返回false;}
});

搜索不起作用。如果我删除
form method=“get”action=“art/search”
。然后搜索工作。仅当您单击“搜索”按钮时有效。如何应用
表单方法
以使用enter键开始搜索

只需使表单在提交时执行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>

;
函数TDMArtSearch(){
var art=$('#artnum').val();
如果(艺术!=''){
艺术=艺术替换(/[^a-zA-Z0-9.-]+/g');
位置='/art/search/'+art+'/';
}
}

onsubmit属性用于在提交表单时执行javascript,返回false用于停止“正常”提交。通过添加监听器和使用更干净的HTML代码,有更好的方法可以做到这一点,但一旦您了解了这一点,您就可以寻找这些方法了。

非常感谢您