2016-09-22 7 views
0

私は運が悪いのでこの問題を解決しようとしています。私はコースのリストを取得するために、アヤックスのポストをやっています。リストを取得するには2つの方法があります。ユーザーは検索ボタンをクリックするか、またはEnterを押すことができます。検索ボタンをクリックすると、コースの一覧が表示されます。ただし、Enterキーを押しても機能しません。常に "jqXHR.status = 0 - 接続されていません"というエラーを返します。AjaxのポストコールがKeyUpで動作しない

これらは両方ともPerformSearch()を呼び出す2つのイベントです。

このキーアップイベントは機能しません。

$('#searchFor').on('keyup', function (event) { 
    event.preventDefault(); 
    if (event.which === 13) { 
     // $('#SearchCourses').click(); 
     PerformSearch(); 
    } 
}) 

クリックイベントが正常に動作します。

//コースリストを返すサーバーサイドコード。

public ActionResult GetCourses(Course courseObj) 
    { 
    . 
    . 
    . 
    return PartialView("Courses", courses); 
} 

イベントがちょうどもちろんオブジェクトの代わりにページ全体を提出しています。

+0

どれサンプルフィドルを停止する必要がありますか? – Vatsal

+3

これをフォームに貼り付け、代わりに 'submit'イベントを使うと、悲しみをたくさん節約できます。それ以外の問題は、ポストされたコードではないように見えます。同じ関数を呼び出すだけで、その関数はポストされていないので、何をしているのかわかりません。 – adeneo

+0

同じ名前で異なるIDを持つ別の入力テキストボックスを追加しました。次に、元のテキストボックスのイベントが開始されます。今は私には意味がありません。 –

答えて

0

それを試してみてください。

$('#searchFor').bind('keypress', function (e) { 
        var code = e.keyCode || e.which; 
        if (code == 13) { //Enter keycode 
         //Do something 
         PerformSearch(); 
        } 
       }); 
+0

jQueryはそれを正常化するので、これは正常です... – epascarello

0

あなたはフォーム送信

if (event.which === 13) { 
    event.preventDefault(); 
    PerformSearch(); 
} 
関連する問題