2017-10-06 7 views
0

最近、管理ページでフィルタカテゴリの機能を作成しました。しかし、私が '入力'ボタンを押すと、削除するポップアップが表示されます。私がしたいのは、私がEnterキーを押すと、製品ページのようにfilter()の機能を果たします。Opencart Filter Button製品リストとカテゴリーリストに入力してください

私はすでに一番下の行にこれらのコードを追加します。

<script type="text/javascript"><!-- 
function filter() { 
    url = 'index.php?route=catalog/category&token=<?php echo $token; ?>'; 

    var filter_name = $('input[name=\'filter_name\']').attr('value'); 

    if (filter_name) { 
     url += '&filter_name=' + encodeURIComponent(filter_name); 
    } 

    location = url; 
} 
//--></script> 
<script type="text/javascript"><!-- 
$('#form input').keydown(function(e) { 
    if (e.keyCode == 13) { 
     filter(); 
    } 
}); 
//--></script> 

しかし、私はEnterキーを押したときにフィルタがまだ実行ものの、まだ、それは削除の確認を返します。誰もが、このページで製品ページに似ていない理由を知っていますか?コードが同じであるためです。

+0

あなたがChromeでのdevのツールを開いて、あなたを尋ねるどのようなコードを見つけるもらえ削除を確認する(コンソールタブのすべてのコードのテキストを探し、control + shift + fを押す)。そこにブレークポイントを設定して、スタックを検査することができます。そのキーイベントにイベントリスナーを追加するコードがいくつか見つかります。 1つのイベントに複数のリスナーを追加できます。 – HMR

+0

こんにちは、コンソールログには何もありません。 –

+0

削除確認がどこから来るのかわかりません。それはopencartやJavaScriptフレームワークからのものです。それはモーダルダイアログかネイティブJavaScriptで確認できますか?しかし、表示されるテキストを見ることができますし、chromeの開発ツールを使ってコードを見つけることができます。あなたがそのコンホーメーションを作り出すものを特定できるなら、問題を解決するのに役立ちます。私のコメントはコンソールを見るだけではなく、 "削除"のようなものを探して、コンフォメーションを開くコードを特定することでした。そこにブレークポイントを設定し、コールスタックをチェックアウトします。イベントリスナーを追加するコードを見つけることができるはずです。 – HMR

答えて

1

を入力し、このコードを試してみては項目を削除することを意図されてフォームを送信し、多分カスタムアクションを作成することは可能ですが、項目を削除したくない場合アクションを削除トリガーフォーム提出キャンセル:あなたが「送信」処理するコードを見つける必要があり、削除ハンドラが最初に呼び出された場合

... 
e.preventDefault(); 
filter(); 

を、ハンドラ

を削除

そして、手動でも削除というボタンのような形を(削除する特定のアクションをしたい場合は(自分を提出するためのハンドラを呼び出す)

+1

ように、私のコードは次のようになります: 'if(e.keyCode == 13){e.preventDefault();フィルタ(); } ' –

0

それは押すように見える

<script type="text/javascript"><!-- 
$('input[name=\'filter_name\']').keydown(function(e) { 
    if (e.keyCode == 13) { 
     filter(); 
    } 
}); 
//--></script> 
+0

まだ同じ...私は実際の問題は、スクリプトの前にpostメソッドを実行していると思います。 –

関連する問題