2010-08-16 14 views
0

Je reçois une erreur de syntaxe en ligne 13 ... ligne 13:JavaScript Erreur de syntaxe

"c001": {type:"tool", id: "webconference", name:"Web Conference Tool"}, // web conference 

Pouvez-vous me aider à résoudre ce problème? :) Merci.

//assuming jquery exists 

/* notes: 
    a lot of the functions need to either return jQuery or jQuery.ib, and if jQuery.ib then I need a .stop() function that returns jQuery 

*/ 



(function(){ 
    jQuery.fn.extend({ibSetup: function(){ 
     toolmap: { 
      "c001": {type:"tool", id: "webconference", name:"Web Conference Tool"},    // web conference 
      "c002": {type:"alias", "main": "c001"},   // web conference yearly 
      "c024": {type:"tool", id: "webconference-package", name:"Web Conference tool"}, // web conference tool package version 
      "c0something": {type:"tool", id:"webconference-premium", name:"Premium Web conference Tool"}, // premium wc 

      "c053": {type:"alias", "main":"c024"},   // signature bronze (wc tool) 
      "c075": {type:"alias", "main":"c024"},   // signature bronze (wc tool) quarterly 
      "c054": {type:"alias", "main":"c024"},   // signature bronze (wc tool) yearly 

      "c004": {type:"tool", id: "template", name:"Template Tool"},    // template tool 
      "c008": {type:"alias", "main":"c004"},   // template tool yearly 

      //check quantity on these; 
      "c018": {type:"tool", id: "template-extrauser", quantity:1, name:"Template Tool Extra User"},  // template tool 1st extra user - $12.47 
      "c019": {type:"tool", id: "template-extrauser", quantity:"check", name:"Template Tool Extra User", "extends":"c018"}, // template tool additional users - $10.00 

      "c020": {type:"tool", id: "businessresponder", name:"Business Responder Tool"},    // business responder tool 
      "c021": {type:"alias", "main":"c020"},   // business responder tool yearly 

      "c005": {type:"tool", id: "volumemarketing", name:"Volume Marketing Tool"},    // volume marketing tool 


      //packages: 
      "c025": {type:"package", tools:["c024","c004","c020"], name:"USABG Starter Package"}, // USABG Starter Package: GUESSED AT TOOLS 

      "c077": {type:"package", tools:["c004","c020","c005"], name:"Ultimate Template Package"}, // ultimate template: ett, br, marketing 

      "c027": {type:"package", tools:["c024","c004","c020"], name:"Essential Silver Package"}, // silver package: wc, ett, br 
      "c075": {type:"alias", "main":"c027"},    // sp quarterly 
      "c076": {type:"alias", "main":"c027"},    // sp semi-annually 
      "c028": {type:"alias", "main":"c027"},    // sp yearly, 

      "c050": {type:"alias", "main":"c027"},    // sig sp, 
      "c051": {type:"alias", "main":"c027"},    // sig sp semi-annually, 
      "c080": {type:"alias", "main":"c027"},    // sig sp quarterly, 
      "c052": {type:"alias", "main":"c027"},    // sig sp yearly; 

      "c023": {type:"package", tools:["c024","c004","c020"], name:"Vital Gold Package"}, // gold package: silver + subsite (and this script doesn't do the websites.. yet.) 
      "c073": {type:"alias", "main":"c023"},    // gp quarterly 
      "c074": {type:"alias", "main":"c023"},    // gp semi-annually 
      "c030": {type:"alias", "main":"c023"},    // gp yearly 

      "c031": {type:"alias", "main":"c023"},    // sig gp 
      "c081": {type:"alias", "main":"c023"},    // sig gp quarterly 
      "c039": {type:"alias", "main":"c023"},    // sig gp semi-annually 
      "c032": {type:"alias", "main":"c023"},    // sig gp yearly 

      "c022": {type:"package", tools:["c024","c004","c020","c005"], name:"Full Platinum Package"}, // platinum package: silver + website + volume marketing tool 
      "c071": {type:"alias", "main":"c022"},    // pp quarterly 
      "c072": {type:"alias", "main":"c022"},    // pp semi-annually 
      "c029": {type:"alias", "main":"c022"},    // pp yearly 

      "c***": {type:"manual", name:""}    // other tool template 
     }, 
     tools: [], 
     cookies: { 
      "salutation": "", 
      "fname": "", 
      "lname": "", 
      "email": "", 
      "password" : "", 
      "title": "", 
      "company": "", 
      "address": "", 
      "address2": "",   // may not exist! 
      "city": "", 
      "state": "", 
      "zip": "", 
      "phone": "", 
      "tollfree": "", 
      "cell": "", 
      "fax": "", 
      "website": "", 
      "country": "", 
      "dob": "", 
      "spouse": "", 
      "spousedob": "", 
      "repnum": "" //otherwise refered to as repid; may not exist 
     }, 
     getTool: function(partno){ 
      if(typeof toolmap[partno] == "undefined") return false; 
      else if(toolmap[partno].type == "alias") partno = toolmap[partno].main; 
      return toolmap[partno]; 
     }, 
     getToolString: function(partno,qty) 
     { 
      var str = ""; 
      var amp = false; 
      function makeStringPiece(partno){ 
       var tool=getTool(partno); 
       if(!tool) return false; 
       if(tool.type=="package") { 
        for(i in tool.tools){ 
         str += makeStringPiece(tool.tools[i]); 
        } 
       } 
       else{ 
        this.amp ? str += "&" : this.amp = true; 
        str += "tool[]="+tool.id; //"+this.counter+" 
        this.counter++; 
        if(tool.quantity) { 
         str += "&" + tool.quantity=="check" ? this.qty : tool.qty; 
        } 
       } 
      }; 
      makeString(partno); 
      return str; 
     }, 

     //filter and foreach from http://eloquentjavascript.net/ 
     filter: function (array, test) { 
      var result = []; 
      forEach(array, function (element) { 
      if (test(element)) 
       result.push(element); 
      }); 
      return result; 
     }, 
     forEach: function(array, action) { 
      for (var i = 0; i < array.length; i++) 
      action(array[i]); 
     }, 

     readTools: function(){ 
      for(partno in toolmap){ //I might need to change this to use .each() 
       var t = readCookie(partno) 
       if(t) tools.push(t); 
      }; 
     }, 
     readUser: function(){ 
      for(name in cookies){ 
       cookies[name] = readCookie(name); 
      } 
     }, 

     createCookie: function(name,value,days) { 
      if (days) { 
       var date = new Date(); 
       date.setTime(date.getTime()+(days*24*60*60*1000)); 
       var expires = "; expires="+date.toGMTString(); 
      } 
      else var expires = ""; 
      document.cookie = name+"="+value+expires+"; path=/"; 
     }, 

     readCookie: function(name) { 
      var nameEQ = name + "="; 
      var ca = document.cookie.split(';'); 
      for(var i=0;i < ca.length;i++) { 
       var c = ca[i]; 
       while (c.charAt(0)==' ') c = c.substring(1,c.length); 
       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
      } 
      return null; 
     }, 

     eraseCookie: function(name) { 
      createCookie(name,"",-1); 
     } 

    }}); //close function, close extend object, close extend() 
})(); // close and execute my anonymous function 
+0

Essayez d'envelopper vos clés entre guillemets, par exemple "type" .. peut-être qu'un interprète s'attend à ce que ce soit un mot réservé –

+0

Et quel navigateur? –

Répondre

3

JSLint se plaint de la ligne 12

Quand j'ai essayé de changer:

toolmap: { 

à:

toolmap = { 

qui semblait résoudre le problème.

+0

Oui. "toolmap" n'est pas dans un objet - vous l'utilisez/le déclare à l'intérieur d'une fonction. – palswim

+0

OK, je vois. Donc, si je change le STUFF restant: ... ça devrait marcher? – nn2

+0

par cela signifie que ceux qui ont un point-virgule dans une méthode. – nn2