2016-06-22 31 views
2

in bootstrap-tagsinput on次のタグフォームの入力キーが送信されます。 解決策は何ですか?bootstrap-tags入力フォームが入力時に入力されます。入力キー

$("#inputID").tagsinput(); 
+0

私は同じ問題に直面しています...解決策を見つけましたか? – Aman

+0

あなたはバックエンドフレームワークを使用していますか?サンプルコードを共有する?? – Noni

+0

可能性のある[twitter bootstrap typeahead pluginでプレスに投稿しないようにする方法](http://stackoverflow.com/questions/13551668/how-prevent-submit-on-press-enter-in-twitter-bootstrap-typeahead-プラグイン) – BeliG

答えて

4

まず、あなたがあなたのマップtagsinputconfirmkeysオプションに「入力」したいと思うでしょう、そしてあなたは提出されてからフォームを防ぐために、あなたの入力したキーにpreventDefault()を呼び出す必要があります。私の解決策では、ユーザーがタグ入力フィールドにフォーカスしている間に、キーを入力するだけで提出を防ぐことができます。

冗長性を少し追加するには、入力フィールドのカンマにエンターキーを再マッピングしてください。

$('#tags-input').tagsinput({ 
    confirmKeys: [13, 188] 
    }); 

    $('#tags-input input').on('keypress', function(e){ 
    if (e.keyCode == 13){ 
     e.keyCode = 188; 
     e.preventDefault(); 
    }; 
    }); 

またFYI、Enterキーは13としてマッピングされ、コンマはJSでは188です。

+0

これは本当に役に立ちました。私は更新プログラムを追加したいと思います。私は今カンマのキーコードが44に変更されたと思う。 –

0

Enterキーはポストバック用のレジスタです。そのため、「入力」キーを押すと「ポストバック」イベントがトリガーされ、フォームが送信されるケースが発生しました。 溶液:ページの読み込み準備に ザタグ入力のためのキーを入力:

@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, new { onkeydown = "return event.keyCode!=13" })) 

asp.net MVCフレームワークを使用すると、これは単純な例である場合。

関連する問題