2017-07-28 14 views
1

検索ボタンを押すとJSコードが機能します。 しかし、フォームを送信するためにenterを使用すると、ベローコードは機能しません。 コードをマゼンタで使用する。 Htmlのあなたは<form>要素内submitボタンを持っている必要があります動作するようにキー入力フォーム送信動作に入るためにフォーム入力時にJavaScriptが動作しない

<form action="<?php echo $this->getUrl('storelocator/index/searchbydistance') ?>" method="GET" id="search_by_distance"> 
<button type="button" onclick="storeSearch.submit(this)"><?php echo $this->__('Search') ?></button></form> 

Javascriptを

<script type="text/javascript"> 
//<![CDATA[ 
storeSearch.submit = function(button, url) { 
alert('hi'); 
}.bind(storeSearch); 
//]]> 

答えて

1

。すべてのあなたの現在のボタンがそうであるようJSによるフォームを送信され、あなたは単にそのtypeを変更できます。

<form action="<?php echo $this->getUrl('storelocator/index/searchbydistance') ?>" method="GET" id="search_by_distance"> 
    <button type="submit"><?php echo $this->__('Search') ?></button> 
</form> 

<script type="text/javascript"> 
    storeSearch.submit = function(button, url) { 
    alert('hi'); 
    }.bind(storeSearch); 
</script> 
0

はボタンにするために、いくつかのIDを与え、その後、次のようなコードを使用します。

document.getElementById("id_of_button") 
    .addEventListener("keyup", function(event) { 
    event.preventDefault(); 
    if (event.keyCode == 13) { 
     document.getElementById("id_of_button").click(); 

// ORフォームを送信してください。

} 
}); 
関連する問題