2016-08-05 295 views
0

我在我的JavaScript代碼中有以下功能,當我運行它時顯示以下錯誤Cannot read property 'toString' of undefined我正在開發SharePoint Web應用程序。未捕獲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變種,對undefined和null添加的檢查。至於好像你的發言currentQuizItem.get_fieldValues() [「Audienca」]沒有任何回報,然後你想用你的toString來「無」 – 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 
     }); 
} 
相關問題