2017-05-12 10 views
0

私はHTMLや特にJavaScriptにはとても新しいので、すでに問題があります。 プロムを介して撮影したユーザーから取得したすべてのデータを表示するにはどうすればよいですか。 何も私が知っていることからうまくいかないようです。ここにコードは です。ユーザーのデータを計算で表示する方法

function myFunction() { 
 
     var userinput; 
 
     
 
     var userName = prompt("Please enter your name to proceed"); 
 
     if (userName == true) 
 
      { 
 
       document.write ("Welcome to Office Cheapo, "+ userName + ". Here is your invoice:"); 
 
      } 
 
     
 
     var notebook = prompt("How many notebooks do you want to buy?" , "1 to 10"); 
 
     if (notebook == true){ 
 
      document.write ("Notebooks bought -- "+ notebook); 
 
     } 
 
     
 
     var pens = prompt("How many pens do you want to buy?", "1 to 10"); 
 
     if (pens == true){ 
 
      document.write ("Pens bought -- "+ pens); 
 
     } 
 
     
 
      var usb = prompt("How many USB Flash Drives do you want to buy?", "1 to 10"); 
 
     if (usb == true){ 
 
      var taxusb = (usb*6.75)*0.05; 
 
     } 
 
     document.write ("USBs bought -- "+ usb); 
 
      
 
    } 
 
    
<!doctype html> 
 
<html lang="en"> 
 
    <head> 
 
    \t <meta charset="utf-8"> 
 
    \t <title>Cheapo Order</title>   
 
    
 
    </head> 
 
    
 
    <body> 
 
    \t <div> 
 
      <button onclick="myFunction()">Make an order</button> 
 
    
 
     </div> 
 
    </body> 
 
    
 
    </html>

+0

「すべてのデータを表示する」とはどういう意味ですか?それを一箇所に表示しますか? –

+0

はい、ユーザーがすべての値を入力した後、 ペンが買ったと表示される可能性があります - 4 本 - 5など –

答えて

0

userName(ユーザがプロンプトをキャンセルした場合)は、文字列またはnullであろういずれか。したがってusername == trueは常に偽になり、document.writeは決して実行されません。あなたが望むかもしれない何

は次のとおりです。

if (userName) { 

これはあなたのブロックは、ユーザ名がfalsy値でないことを条件とする実行されます。次

はすべてfalsy値は次のとおりです。

  • ヌル
  • 未定義
  • ""
  • NaNの

だから、限り、ユーザーはsを入力しますあなたのプロンプトでOKを押すと、条件が満たされ、ifブランチ内のコードが実行されます。

+0

はい、実際にはすべて働いた。しかし、この場合、私がペンのために入力するすべての数字を理解するにつれて、本や書籍は整数ではなくて、刺すようになるでしょうか? –

+0

このような数値を文字列から整数に変換する必要があります。あなたは '' '' parseInt() '' 'を使うことができます。たとえば、 '' 'parseInt(pens)' ''とします。 –

+0

はい、それはすべてうまくいきました、ありがとう! –

関連する問題