2014-05-23 168 views
1

的錯誤是:調用類方法

ReferenceError: $portal is not defined $portal.user = {

我寫的jQuery和普通的JavaScript全新的東西(這是我的第一個Web項目還在學習。)

我。我試圖從Jquery文檔就緒函數中執行$ portal.user.init()函數,但它沒有執行。

我可能會錯過一些東西,請問任何人請幫忙,我應該如何從Jquery &上面調用它的方法。

這裏是我的jQuery代碼

<script type="text/javascript"> 
      $(document).ready(function() { 
       // Initiate portal.. 
       $portal.user.init(<?php echo $_SESSION['user_id']; ?>, 
         "<?php echo $_SESSION['user_name']; ?>", 
         "<?php echo $_SESSION['acc_type']; ?>", 
         "<?php echo $_SESSION['lang']; ?>", 
         "<?php echo $_SESSION['first_name']; ?>", 
         "<?php echo $_SESSION['last_name']; ?>", 
         "<?php echo $_SESSION['picture']; ?>", 
         "<?php echo $_SESSION['email']; ?>" 
         ); 
      }); 

而且我創造了另一個javascript文件說myweb.js 代碼是這樣的

var _no_profile_pic = "../img/no_profile_pic.png"; 

/* 
* Class : $portal.user 
* Desc  : Portal User Related Functions 
*/ 
$portal.user = { 
    user_id: 0, 
    user_name: '', 
    acc_type: '', 
    lang: '', 
    first_name: '', 
    last_name: '', 
    picture: '', 
    email: '', 
    /* 
    * $portal.user.init : Initilise user 
    * Params : 
    *  user_id - user id 
    *  user_name - login user name 
    *  acc_type - Type of user account like (A - Admin, V - Verified, U - Unverified, D - Deleted) 
    *  lang - User Language like (en-english) 
    *  first_name - User First Name 
    *  last_name - User Last Name 
    *  picture - User Picture URL 
    *  email - User Email Address 
    * Returns : None 
    */ 
    init: function(user_id, user_name, acc_type, lang, first_name, last_name, picture, email) 
    { 
     $portal.user.user_id = user_id; 
     $portal.user.user_name = user_name; 
     $portal.user.acc_type = acc_type; 
     $portal.user.lang = lang; 
     $portal.user.first_name = first_name; 
     $portal.user.last_name = last_name; 
     $portal.user.picture = (picture == indef || picture == '' ? _no_profile_pic : picture); 
     $portal.user.email = email; 
     alert(this.user_id); 
    } 
}; 
+1

你可以檢查你的控制檯的任何錯誤,以及是否加載jQuery的lib? – dreamweiver

+0

Whats'indef'? - >'圖片== indef' - 對於未定義或爲空,您可以'.picture = picture || _no_profile_pic,'(即水珠可能是更好的類內放置爲好) –

+0

提示錯誤控制檯 - 的ReferenceError:未定義$門戶 \t $ portal.user = { – SmartDev

回答

1

您必須首先定義$portal作爲對象,然後嘗試通過添加用戶對象來設置其屬性。

$portal = {}; // define $portal as an object 

// now the user object can be added 
$portal.user = { 
    ... 
    ... 
}; 
+0

大@MrCode,你是偉大的..感謝你的幫助。 – SmartDev