2016-12-05 6 views
-1

私はポストコードだけを入力するとアドレスを取得できる機能を実装しています。通常、次のボタンをクリックすると、私はアドレスのリストを取得しています。実際に私はまた、ユーザーがテキストフィールドに郵便番号を入力し、Enterキーを押すと、彼はアドレスのリストが表示されますエンターボタン機能を実装したい。ここで同じボタンをクリックしたときにリダイレクトできないのはなぜですか?

が私のコードです:

$('#nxt-button').click(function(event){ 
    event.preventDefault(); 
// ajax call for getting all addresses related to entered post code 
return false; 
}); 

//ボタンの機能

$("#post-code-textfield").keyup(function(event){ 
     if(event.keyCode == 13){ 
      $("#nxt-button").click(); 
      event.preventDefault(); 
      return false; 
     } 
     }); 

を入力します。今の問題は、私が直接、次のボタンを押したときにということであるのpreventDefaultは動作しますが、私は押したキーを入力すると、ページは次のページにリダイレクトされます。

私を助けてください。

+2

HTMLを共有できますか? – Satpal

+0

keyupイベントがkeydownイベントに変更されます。これは、イベントがすでにkeyupが発生したときに発生しているためです。 – Enijar

+3

あなたの入力フィールドはフォーム内にあり、Enterキーを押すとフォームが送信されているようです。フォームが送信されないようにする必要があります。あなたのマークアップを投稿して助けを得てください – anu

答えて

1

keypressイベント

$("#post-code-textfield").keypress(function(event){ 
     if(event.keyCode == 13){ 
      $("#nxt-button").click(); 
      event.preventDefault(); 
      return false; 
     } 
     }); 
+1

[フォームの提出を防ぐ](http://stackoverflow.com/a/40971450/542251)それでは、両方であなたの問題を解決できるでしょう – Liam

1

を使用してみてください私は、フィールドがフォーム内であり、あなたがあなたのフォームを入力して押したとき、それはあなたが必要submitting.Allだがformを提出しないようにすることであると仮定:

$('form').submit(function(event){ 
     event.preventDefault(); 
}); 

フォームの提出を防ぐにはreturn falseも動作するはずです。

+0

いくつかの説明が役立つでしょう?しかしこれは問題です。 Enterはフォームを送信し、ボタンは押さない – Liam

0

ボタンにhref attrがある場合は削除して、リスナーを直接clickリスナーで実行してください。

関連する問題