2016-05-17 8 views
1

私はfacebook、twitter、pinterestの3つのブロックを持つフォームを持っています。 ブロックの1つが選択されている場合にのみフォームを送信できる条件を追加しました。そのために は私がやった:複数の&&および||を指定する方法if文の条件はjavascriptで?

if ($("#fb").prop("checked") || $("#tw").prop("checked")|| 
    $("#pin").prop("checked")) { 
    ... 
    ... 
} 
if ($("#fb").prop("checked") || $("#tw").prop("checked")|| 
    $("#pin").prop("checked")) { 
    ... 
    ... 
} 

を今、私はそれがテキストフィールドが140未満の文字が含まれているかどうかを確認するためにTwitterブロック内でチェックする別の条件を追加したいです。 は、そのために私は、条件を追加

if ($("#fb").prop("checked") || $("#tw").prop("checked") && $(#"tw_text").val().length <= 140|| 
    $("#pin").prop("checked")) { 
    ... 
    ... 
} 

しかし、これはFacebookのを選択し、tw_textが、その後も、フォームが送信されます140個の以上の文字を持っている場合のようないくつかの障害を持っています。

フォームを送信しないように条件を追加する正しい方法を教えてください。あなたがそれらをグループ(論理のprecedence OR ||は、論理よりも小さく、&&である)に括弧必要

+0

質問を編集して正確なロジックを説明してください(ただし、機能していないコードをそのまま使用してください)。それを明確にするために擬似コードとたくさんのかっこを自由に使用してください。 – brianlmerritt

答えて

0

解決方法: この方法で問題を解決しました。

if($("#fb").prop("checked") || $("#tw").prop("checked") || $("#pin").prop("checked")) { 
    if ($("#tw").prop("checked")) { 
     if($('#tw_text').val().length <= 140) { 
      ...submit form... 
     } 
     else { 
      .... show error for twitter text length.... 
     } 
    } 
    else { 
     ...submit form... 
    } 
} 
else { 
    ... show error message to select minimum one of the options between fb,tw and pinterest ... 
} 
+0

@brianlmerritt懸念していただきありがとうございます。私はこの方法で問題を解決しました。 –

4

:私はあなたの説明から理解して何から

if ($("#fb").prop("checked") || 
    ($("#tw").prop("checked") && $(#"tw_text").val().length <= 140) || 
    $("#pin").prop("checked")) { 
... 
+0

しかし、ユーザがfbとtwを選択して、twitterのテキストの文字の数が140を超えていない場合は、フォームも送信されます。私はこれを防止したい。 –

+0

あなたは1つだけの(有効な)選択をしたいですか? –

+0

いいえ私は3つのうち最小の1つを選択したいと思っています。もし彼がtwitterを選択したら、140未満のtwitterテキストを持っているはずです.fbとtwitterが一緒に選択されていれば、偽です。 –

0

はさえずりのためにあなたが強制条件を必要とするということです満足すること。角かっこを使用するだけで、ここで助けてください。次のように助けてください: if ($("#fb").prop("checked") || ($("#tw").prop("checked") && $(#"tw_text").val().length <= 140) || $("#pin").prop("checked")) { ... ... }

+0

しかし、ユーザーがfbとtwを選択して、twitterのテキストの文字が140を超えていない場合は、フォームも送信されます。私はこれを防止したい。 –

関連する問題