2017-11-09 15 views
-1

検索フォームを取得しようとしています。しかし、私がEnterキーを押すと、jsの部分は実行されず、ちょうどindex.php?srch=randomtextがjsを呼び出さない理由があります。経路が追加されていません

<form name="sr" onsubmit="return GoToSearch();"> 
    <div class="search-icon"> 
    <input name="srch" id="srch" placeholder="Search The site" type="text"> 
    </div> 
</form> 

JS

function GoToSearch(){ 
    var srch = jQuery('#srch').val(); 
    window.location.href='index.php?route=product/search&search='+srch; 
} 

答えて

1

はあなたのイベントは、おそらくバブルアップされており、デフォルトのブラウザのアクションはこれを防ぐ必要があり、あなたの関数からfalseを返す。で蹴っています。

function GoToSearch(){ 
 
    var srch = $('#srch').val(); 
 
    window.location = '/index.php?route=product/search&search='+srch; 
 
    return false; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form name="sr" onsubmit="return GoToSearch();"> 
 
    <div class="search-icon"> 
 
    <input name="srch" id="srch" placeholder="Search The site" type="text"> 
 
    </div> 
 
</form>

0

あなたはjqueryの を使用して入力を提出したい場合はこれを試してくださいGoToSearchそしてkeyupコードを検出するフォームを必要とするwould'nt:

$(function() { 
 
$("#srch").on('keyup', function (e) { 
 
    if (e.keyCode == 13) { 
 
     alert('do search'); 
 
     GoToSearch(); 
 
    } 
 
}); 
 
}); 
 
function GoToSearch(){ 
 
    var srch = jQuery('#srch').val(); 
 
    window.location.href='index.php?route=product/search&search='+srch; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
    <div class="search-icon"> 
 
    <input name="srch" id="srch" placeholder="Search The site" type="text"> 
 
    </div>

関連する問題