2017-07-31 15 views
1
if (map == "checked") { 
    alert("map ok") 
} 
if (joueurs == "ckecked") {  
     alert("joueurs ok") 
} 
if (point == "checked") { 
     alert("points ok") 
} 

実際の出力を説明する必要はなく、すべてのif文が完全に間違っていることはわかっています。私はそれを明確な例として示したかっただけです。チェックインの内容に応じて特別なことを警告する方法

私は3つすべてがチェックされている場合は "map player point ok"、プレーヤとマップのみがチェックされている場合は "player map ok"、 "player"のみがチェックされている場合は "player ok" ...

あなたは

問題が部分的に解決されたHTML(本当にそれが必要だと考えていない)かどうかを尋ね:

if ((document.getElementById("joueurs").checked == true)) { 

     alertContent = alertContent + nbjoueur + " Joueur(s), dont " + $bot.length + " bot(s) | " 
    } 

if ((document.getElementById("map").checked == true)) { 

    alertContent = alertContent + "Map : " + map + " | " 
} 

if ((document.getElementById("points").checked == true)) { 
    var pointin=$.trim($("#pointsinput").val()); 
    if($("#pointsinput").val().length > 0) { 

    alertContent = alertContent + "Partie a " + points + " point(s) |" 
    } 
    else { 
alert("Le champ points n'est pas rempli !"); 
return; 
    } 
    alert(alertContent); 
window.open('mailto:[email protected]?subject=Formulaire Quake&body=' + alertContent); 

} 

問題は、メール本文が空であることですが、警告正しいテキストを返します。

答えて

0

出力を表示する前にビルドする必要があります。だから、あなたが提供した例では: - (alertContent) ? " " : ""文が何をしている

var alertContent = ""; 
if (map == "checked") { 
    alertContent = "map"; 
} 
if (joueurs == "checked") { 
    alertContent = alertContent + (alertContent) ? " " : "" + "joueurs"; 
} 
if (point == "checked") { 
    alertContent = alertContent + (alertContent) ? " " : "" + "points"; 
} 
if (alertContent) alert(alertContent + " ok"); 

唯一の複雑さが必要と単語の間にスペースを追加しています。

var items = []; 

if (map == "checked") { 
    items.push("map"); 
    alert("map ok") 
} 
if (joueurs == "ckecked") { 
    items.push("player");  
    alert("joueurs ok") 
} 
if (point == "checked") { 
    items.push("point"); 
    alert("points ok") 
} 

if(items.length > 0){ 
    var message = items.join(" ") + "ok"; 
    alert(message);  
} 

、別のオプションは、マスク変数のようになります。:

+0

[OK]を、そのようになりました単純な、ただ1つの質問、それが括弧の間にあるとき(alertContent)はどういう意味ですか? – Mazeo

+0

alertContentは文字列変数の名前です。このコンテキストでは、alertContent +(alertContent)? "": "" + "joueurs";ウェインはそれを三項演算子の述語として識別するために括弧で入れました。 – Aron

+0

JavaScriptの 'if'文は、条件の結果が真理値である場合に真とみなされます。 「真理値」にはさまざまな種類があり、そのうちの1つは空ではない文字列です。この場合、alertContentが空ではないことをテストしています。 –

1

別のアプローチは、配列を使用してメッセージを生成するためのスペースで、アレイに参加するだろう

var mask = 0; 

if (map == "checked") { 
    mask += 1; 
    alert("map ok"); 
} 
if (joueurs == "ckecked") { 
    mask += 2;  
    alert("joueurs ok"); 
} 
if (point == "checked") { 
    mask +=4; 
    alert("points ok"); 
} 

if(mask == 7){ 
    alert("map player point ok"); 
} 
else if (mask == 3){ 
    alert("player map ok"); 
} 
else if (mask == 1){ 
    alert("player ok"); 
} 
関連する問題