2017-08-29 1 views
2

私は現在、これらの2つの入力テキストフィールドに異なる検索機能を持たせています。どの入力に応じてonclick -eventの後に1つの検索機能しか通過できないようにしようとしています。フィールドは空です。2つの入力テキストが1つのサブミットしか許可されていない

HTML;

<form onsubmit="return false" id="searchForm"> 
    <input type="text" id="searchGroup" placeholder="Search group" autocomplete="off"> 
    <input type="text"id="searchRoom" placeholder="Search room" autocomplete="off">             
</form> 

<div id="navBtns"> 
    <button type="button" class="navForward" id="plus" onclick="forward();"></button> 
    <button type="button" class="navBackward" id="minus" onclick="backward();"></button>                                                      
</div> 

これはJavaScriptで試したものですが、動作させることはできません。

function forward() { 
    if (searchGroup.length === 0) { 
     roomForward(); 
    } else if (searchRoom.length === 0) { 
     groupForward(); 
    } 
} 

function backward() { 
     if (searchGroup.length === 0) { 
      roomBackward(); 
     } else if (searchRoom.length === 0) { 
      groupBackward(); 
     } 
    } 

テキスト入力searchGroupが空であるときに、アイデアがあるsearchRoomは、いくつかの入力およびその逆を有する場合には、それだけで関数を実行します。

私はこれを解決することができる迅速かつ効果的な方法はありますか?

+0

'searchGroup'と' searchRoom'を要素として宣言していますか? 'id.property'だけではできません。idを使って要素を取得し、' element.property'を実行する必要があります。さらに、要素の長さを必要としません。その値の長さ、 'element.value.length'が必要です。 – Santi

+2

'searchGroup.value.length'を使う必要があります。 –

+0

@Santi 'id.propertyを行うだけではできません.'' id'を持つすべての要素が 'window'の下にプロパティとして配置されるので、ほとんどのブラウザで実際にできます。私はそれが非常に良い練習ではないことに同意するが、 –

答えて

1

lengthプロパティの前に 'value'を追加する必要があります。したがって、たとえば 'searchGroup.value.length'にする必要があります。

関連する問題