2017-07-28 8 views
2

私は検索に取り組んでいますが、現在検索アイコンで入力フィールドを切り替えています。デフォルトでは、アイコンはbutton要素の中にラップされているので、フォームを送信しません。キーアップ時にボタンattrを動的に変更します。

テキストが入力されているかどうかを確認してから、ボタンのタイプを変更して、アイコンの次のクリック時に送信します。

ここに私のコードは、これまで

// Mobile Search UI 
$(document).ready(function() { 
    $('.mobile-btn-search').click(function(){ 
    $('.mobile-input').toggle('slow'); 
    }); 

    $('.mobile-input').keyup(function(){ 
    if ($(this).val()) { 
     $('.mobile-btn-search').attr('type', 'submit'); 
    } 
    }); 
}); 
+1

Typo: '$( 'mobile-btn-search')'はおそらく '$( 'mobile-btn-search')' –

+0

であるべきです。入力フィールドに入力されます。 –

+0

'$( 'mobile-input')' - > '$( '。mobile-input')'です。後者はいくつかのブラウザで問題を引き起こす可能性があるので、私は@ ZakariaAcharkiが 'type'を動的に変更するのではなく、ボタンを有効/無効にするという提案に従っています。 –

答えて

0

Working fiddleです。

あなたはおそらく、次のエラーを取得:

Uncaught Error: type property can't be changed

は、コンソールをチェックしてください。

代わり.prop()を使用する必要があります。

$('.mobile-btn-search').prop('type') 

は、この情報がお役に立てば幸いです。

+0

入力フィールドを.mobile-btn-searchで前後に切り替えなければならないので、うまくいきません。ボタンが無効の場合は、入力フィールドを切り替えることができません。 –

+0

本当に2つのアクションに1つのボタンを使用していますか?誰かが空のフィールドで検索しようとすると、フィールドは検索ボタンで切り替わりますか? –

+0

値が入力されていない場合、[はい]フィールドは検索ボタンでトグルされます。モバイル上のこのシナリオでは、トグルと検索のための1つのボタンがレイアウトのために機能します。私はそれがトグルされるまで、入力フィールドで隠された別のサブミットボタンを持つことによってそれを達成できることを知っています。しかし、私は1つのボタンでそれを実現させるためのロジックを記述しようとしています。 –

関連する問題