2011-08-01 24 views
-1

私はここで間違っていますか?私はC s22JavaScript:シンプルな関数、varが設定されていません

は、なぜそれがすべての場合は()ステートメントを過ぎてスキップされて表示されるアラートを取得する私もcaseの代わりifでそれを試してみましたが、それが

function updateResultPage(the_resp,r) { 
    var to_alert="s"; 

    if(the_resp=="11"){ 
     to_alert="Thank you!!"; 
    } 
    else if(the_resp=="22"){ 
     to_alert="Error:."; 
    } 
    else if(the_resp=="33"){ 
     to_alert="ERROR 234dfR,."; 
    } 

    alert("c "+to_alert+the_resp); 
} 

動作しませんか?

EDIT: [OK]を、私はRESPの正確な値を確認するには、このコードを追加:alert("d "+to_alert+" *"+the_resp+"*"); と第二*が次の行に来ているが、私はトリミング問題を抱えているように見える...

+1

'else'のみのオプションがないので、' else if'がマッチしておらず、その結果変数は設定されていません。 –

+0

私はそれを知っていますが、アラートの中に 'the_resp'があり、22が表示されているので、なぜそれが一致しませんか? – Ryan

+0

あなたは何を話しています、それはうまくいくはずです。また、なぜあなたの関数は2つの引数を取るのですか? – zellio

答えて

2

この

alert("c "+to_alert+the_resp);

を削除するか、追加else

else{ 
    alert("c "+to_alert+the_resp); 
} 
+0

上記の編集を参照してください... – Ryan

+0

あなたの答えを最初に選択したので、ありがとう – Ryan

3

追加

the_resp = the_resp.replace(/^\s*|\s*$/g,""); // will trim it. 

あなたの機能の始めに。

+0

上記の編集を参照してください... – Ryan

1

実際の文字列または文字列オブジェクト(intとは対照的に)を渡すことを確認する価値があります。

関連する問題