2016-08-05 28 views
0

JavaScriptコードに次の機能があり、実行すると次のエラーが表示されますCannot read property 'toString' of undefined私はSharePoint Webアプリケーションを開発しています。Uncaught TypeError:未定義のJavaScriptのプロパティ 'toString'を読み取ることができません。

function startTest(quizID) { 

    currentQuizItem = quizList.getItemById(quizID); 
    var quizName; 
    context.load(currentQuizItem); 
    var userName = user.get_title(); 

    var audiencenames = currentQuizItem.get_fieldValues()["Audienca"]; 
    var straudience = audiencenames.toString(); 
    straudience = straudience.toUpperCase(); 
    straudience = straudience.replace(/\s/g, ''); 

    userName = userName.toUpperCase(); 
    userName = userName.replace(/\s/g, ''); 
    var rezultati = straudience.match(userName); 
    alert(rezultati); 
} 

私を手伝ってください!

+0

'はconsole.log(audiencenames)'値 – Sherlock

+0

の割り当ては、まだエラーを取得した後にこれを挿入:( – Iamnderon

+0

未定義とヌルのチェックを追加し、あなたのaudiencenamesのVARを確認してください。あなたの文のcurrentQuizItem.get_fieldValues(ように思えるとして) ["Audienca"]は何も返しませんし、toStringを "nothing"に使用したい場合 – ams4fy

答えて

0

context.executeQueryAsync()私のコードはありませんでした。私はそれを追加し、それは働いた。

function startTest(quizID) { 

    currentQuizItem = quizList.getItemById(quizID); 
    var quizName; 
    context.load(currentQuizItem); 
    var userName = user.get_title(); 
    context.executeQueryAsync(function() { 
      var audiencenames = currentQuizItem.get_fieldValues()["Audienca"]; 
      var straudience = audiencenames.toString(); 
      straudience = straudience.toUpperCase(); 
      straudience = straudience.replace(/\s/g, ''); 

      userName = userName.toUpperCase(); 
      userName = userName.replace(/\s/g, ''); 
      var rezultati = straudience.match(userName); 
      alert(rezultati); 
     }, 

     function() { 
      // handle error 
     }); 
} 
関連する問題