2014-05-23 4 views
1

L'erreur est:appel méthode de classe d'un autre javascript dans la requête

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

je suis en train d'écrire une nouvelle histoire avec Jquery et javascript normale (ce qui est mon premier projet web encore à apprendre.)

I. J'essaie d'exécuter la fonction $ portal.user.init() à partir de la fonction Jquery document ready, elle n'est pas en cours d'exécution.

Je pourrais manquer quelque chose, pourrait-on aider s'il vous plaît, comment je devrais appeler la méthode ci-dessus de JQuery & concept derrière elle.

voici mon code 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']; ?>" 
         ); 
      }); 

Et j'ai créé un autre fichier javascript dire myweb.js est comme ça

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

Pourriez-vous vérifier les erreurs sur votre console et également si jquery lib est chargé? – dreamweiver

+0

Qu'est-ce que 'indef'? -> 'picture == indef' - Pour undefined ou empty vous pouvez' .picture = picture || _no_profile_pic, '(Ce glob est probablement mieux mis dans la classe ainsi) –

+0

il donne l'erreur dans la console - ReferenceError: portail $ n'est pas défini \t $ portal.user = { – SmartDev

Répondre

1

Vous devez d'abord définir $portal comme un objet , avant d'essayer de définir ses propriétés en ajoutant l'objet utilisateur.

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

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

Grand @MrCode, vous êtes grand .. Merci beaucoup de votre aide. – SmartDev

Questions connexes