2017-04-19 2 views
0

フォームを送信すると検証が行われ、検証チェックをパスすると関数が呼び出されます。今私がしたいのは、変数の値に応じてフォームを別の関数に提出する必要があるということです。のみnewport()条件jqueryに基づいて異なる関数にフォームを送信する方法

$('#select_port').on('submit',function(e){ 
var port = $("input[name='port_type']:checked").val(); 

    if(port == "chennai" || "mumbai" || "calicut"){ 
    newport(); 
    } 

    else if(port == 'gujarat'){ 
    gujaratport(); 
    } 
} 

は関係なく、ポート値が何であるかと呼ばれていません。ポートの値がchennai、mumbai、calicutの場合は、newport()関数にコールします。ポート値がgujaratの場合は、gujaratport()を呼び出す必要があります。値が何であれnewport()関数が呼び出されます。

+0

質問を更新して関連するHTMLを追加できますか? – Sharlike

答えて

0

ポートの値が保存されているかどうかをチェックすることから始めます。グジャラートのケースをチェックするには、else ifの状態が必要な理由も尋ねてください。/Elseが、それが1つのものである場合、または別のものであることが必要な場合に使用される場合。 3つのポート(chennai/mumbai/calicut)のいずれかでない場合は、再度ifで確認する必要はありません。

1

あなたの第一条件:JavaScriptでは(a_non_empty_string)が真と評価される場合ので

if(port == "chennai" || "mumbai" || "calicut"){ 
    newport(); 
} 

は常にtrueに評価されます。
あなたが使用している必要があります。

if(port == "chennai" || port == "mumbai" || port == "calicut"){ 
    newport(); 
} 

UPDATE 以上の柔軟性のために、正規表現を使用します。 https://www.tjvantoll.com/2013/03/14/better-ways-of-comparing-a-javascript-string-to-multiple-values/

:ここ

if (port.match(/^chennai|mumbai|calicut$/){ 
    newport(); 
} 

を使用すると、複数の値に文字列を比較するためのさまざまな方法を見ることができます

関連する問題