1

こんにちは、初心者プログラマーです。JavaScript の学習を始めたばかりです。ユーザーが候補のリストから名前を選択し、情報を受け取りたいカテゴリを選択するように求める単純な JavaScript プログラムを作成しようとしています。次に、プログラムはその情報を表示する必要があります。以下のコードを書いたのですが、なぜかうまくいかず、方法がわかりません。どんな助けでも大歓迎です。ありがとう

<html>
<head> 
<title>interndatabase</title>
<script type="text/javascript"> 
//<!CDATA[ 

//stores data about the applicants
  applicantName= new array ("Joe","Sarah", "Roger", "Mike"); 
  applicantCategory= new array ("University","Year","SAT","GPA"); 
  applicantInfo= new array ( 
  new array ("Stanford","Senior","2250","3.6"), 
  new array ("UC Berkeley","Junior","2100","3.9"),
  new array ("MIT","Junior","2200","3.3"), 
  new array ("Carnegie Mellon","Sophomore","2150","3.4") 
     ); 

   //this function should evaluate said data 

     function getInfo (){ 
     var theApplicant=" "; 
     var menuA="Please choose an applicant by typing a number\n";
         menuA+="0)Joe\n"; 
         menuA+="1)Sarah\n"; 
         menuA+="2)Roger\n"; 
         menuA+="3)Mike\n"; 

         theApplicant=prompt(menuA); 
         return theApplicant; 

         var theCategory=" "; 
         var menuB="Please Choose a category by typing a number\n"; 
            menuB+="0)University\n"; 
            menuB+="1)Year\n"; 
            menuB+="2)SAT\n"; 
         menuB+="3)GPA\n"; 

     theCategory=prompt(menuB); 
     return theCategory;
      }//end function 

     //main code evaluates the result, and returns the correct info to the user 

      function main () { 
      var output=" "; 
      var name=getInfo() 
      var category=getInfo() 
      var result=applicantInfo [name] [category]; 

      output="The database belonging to" +applicantName; 
      output+="registers" +result+ "in that category."; 

      alert(output);
      }//end main

      </script> 
      </head>
      <body> 
      </body> 
      </html>
4

2 に答える 2

1

これは、1 つの機能に 2returnつあるためです。2つの別々の機能が必要です

function getApplicant(){ 
 var theApplicant=" "; 
 var menuA="Please choose an applicant by typing a number\n";
     menuA+="0)Joe\n"; 
     menuA+="1)Sarah\n"; 
     menuA+="2)Roger\n"; 
     menuA+="3)Mike\n"; 

     theApplicant=prompt(menuA); 
     return theApplicant; 
    }
 function getCategory(){ 
     var theCategory=" "; 
     var menuB="Please Choose a category by typing a number\n"; 
        menuB+="0)University\n"; 
        menuB+="1)Year\n"; 
        menuB+="2)SAT\n"; 
     menuB+="3)GPA\n"; 

 theCategory=prompt(menuB); 
 return theCategory;
  }

 //main code evaluates the result, and returns the correct info to the user 

  function main () { 
  var output=" "; 
  var name=getApplicant(); 
  var category=getCategory() ;
  var result=applicantInfo [name] [category]; 

  output="The database belonging to" +applicantName; 
  output+="registers" +result+ "in that category."; 

  alert(output);
  }//end main

そして、以下のような配列を作成できます:

applicantName = ['A','B','C'];

また

applicantName  = new Array('A','B','C');
于 2013-06-06T04:52:35.340 に答える
0

私はこのコードを試し、問題を修正しました。

新しい Javascript 配列を作成するときは、大文字と小文字が区別されます。正しいコードは次のとおりです。

  var applicantName = new Array ("Joe","Sarah", "Roger", "Mike"); 
  var applicantCategory= new Array ("University","Year","SAT","GPA"); 
  var applicantInfo= new Array ( 
  new Array ("Stanford","Senior","2250","3.6"), 
  new Array ("UC Berkeley","Junior","2100","3.9"),
  new Array ("MIT","Junior","2200","3.3"), 
  new Array ("Carnegie Mellon","Sophomore","2150","3.4") 
     ); 

Array では大文字と小文字が区別されます。同様に、Firefox のデバッグ ツールを使用することをお勧めします。

もう 1 つの問題は、実際にコードを開始していないことです。body タグに、

<body onload = "main()"> 

このようにして、作成した JavaScript を実際に起動します。

これが役に立ったことを願っています!

于 2013-06-06T04:57:33.570 に答える