1

タグベースの検索フォームがあります(FacebookやS / Oで表示されるタグベースのテキストボックスのように、単語を入力してキーボードの対応する区切り文字キーを押します)

私のウェブサイトでは、テキストフィールドに単語を入力し、Enterキーを押して、そのキーワードを「確認」または「承認」します。これにより、別のキーワードを入力できます。

これに伴う問題は、検索クエリの入力を終了した場合でも、e.preventDefault()が有効になっているため、Enterキーを押してもフォームが送信されないため、Enterボタンを使用して各タグを受け入れ/確認できることです。 。

私がやりたいのは、ユーザーに(少しではありますが)不便をかけるのではなく、ユーザーが(または新しい)タグを入力していない場合にEnterキーを押したときにフォームを送信することです。

この画像でそれをより明確に説明しようと思います: ここに画像の説明を入力してください

これはまったく可能でしょうか?

4

2 に答える 2

1

私の最初の提案は、状態を確認することです。たとえば、タグを選択しているときに、クラス.taggingを要素に追加できます。押すと、クラスが要素にあるEnterかどうかを確認できます。.taggingそうである場合は、タグ選択を終了し、クラスを削除します。クラスが要素にない場合は、タグ付けされていないことを意味するため、先に進んで変更を送信できます。

$("#tags").on("keypress", function(e){
    e.preventDefault();
    if ( e.which === 13 ) {
        if ( $(this).is(".tagging") ) {
            /* Add tag, remove class */
        } else {
            /* Submit data */
        }
    }
});
于 2012-05-27T05:41:08.030 に答える
1
$("#tags").keyup( function(e){
    if ( e.which === 13 ) {
        if ( /*value is not empty*/ ) { //add tag             
        } else {
            $("#formID").submit();
        }
    }
});

これがあなたが探しているものだと思います

于 2012-05-27T05:57:07.747 に答える