Просто сделайте так, чтобы форма выполняла функцию 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"></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, но вы можете найти его, как только узнаете, как это работает.