Missing ; Before Statement

Discussion in 'JavaScript' started by Nazkyn, Mar 9, 2007.

  1. #1
    I'm currently working on and debugging a script and I keep coming across this error -

    [​IMG]

    Here's my JavaScript -

    <!--Begin
    
    function answer() {
    var emptyPocketsOne = eval(document.calc.regex.value)
    parseemptyPocketsOne = emptyPocketsOne.match(/Empty Pockets: (\d+)/)
    var usedPocketsOne = eval(document.calc.regex.value)
    parsusedPocketsOne = usedPocketsOne.match(/Used Pockets: (\d+)/)
    var labSpaceOne = eval(document.calc.regex.value)
    parselabSpaceOne = labSpaceOne.match(/Drug Lab Size: (\d+)/)
    var junkiesOne = eval(document.calc.regex.value)
    parsejunkiesOne = junkiesOne.match(/Working Junkies: (\d+)/)
    var JunkiesTwo = eval(document.calc.regex.value)
    parseJunkiesTwo = JunkiesTwo.match(/Training Junkies: (\d+)/)
    var emptyPocketsTwo = eval(document.calc.regex.value)
    parseemptyPocketsTwo = emptyPocketsTwo.match(/Empty Pockets: (\d+)/)
    var usedPocketsTwo = eval(document.calc.regex.value)
    parsusedPocketsTwo = usedPocketsTwo.match(/Used Pockets: (\d+)/)
    var labSpaceTwo = eval(document.calc.regex.value)
    parseelabSpaceTwo = labSpaceTwo.match(/Drug Lab Size: (\d+)/)
    var junkiesTwo = eval(document.calc.regex.value)
    parsejunkiesTwo = junkiesTwo.match(/Working Junkies: (\d+)/)
    var JunkiesTwo = eval(document.calc.regex.value)
    parseJunkiesTwo = JunkiesTwo.match(/Training Junkies: (\d+)/)
    var totalJunkies = (junkiesOne[1] + junkiesTwo[1])
    
    var resultOne = 0
    while (usedPocketsOne[1] > totalJunkies - labSpaceOne[1] * 17) {
    	resultOne = resultOne + 1
    	usedPocketsOne[1] = usedPocketsOne[1] - totalJunkies + labSpaceOne[1] * 17
    	totalJunkies = totalJunkies + 1
    }
    
    var resultTwo = 0
    while (usedPocketsTwo[1] > totalJunkies - labSpaceTwo[1] * 17) {
    	resultTwo = resultTwo + 1
    	usedPocketsTwo[1] = usedPocketsTwo[1] - totalJunkies + labSpaceTwo[1] * 17
    }
    
    var visitsOne = eval(document.calc.regex.value)
    parsevisitsOne = visitsOne.match(/Dealer Visits Remaining: (\d)/)
    if (visitsOne[1] == 0) {
    	resultOne = resultOne - 2
    	usedPocketsOne[1] = usedPocketsOne[1] + 1
    }
    
    var visitsTwo = eval(document.calc.regex.value)
    parsevisitsTwo = visitsTwo.match(/Dealer Visits Remaining: (\d)/)
    if (visitsTwo[1] == 0) {
    	resultTwo = resultTwo - 2
    	usedPocketsTwo[1] = usedPocketsTwo[1] + 1
    }
    
    document.getElementById('result').innerHTML ="<b>You can spend "  +  resultOne  +  "  (  "  +  resultTwo  +  "  )  "  +  " 
    
    tokens"  +  ","  +  " You need to purchase "  +  (emptyPocketsOne[1] - usedPocketsOne[1])  +  "  (  "  +  (emptyPocketsTwo[1] 
    
    - usedPocketsTwo[1])  +  "  )  "  +  " drugs"  +  ".</b>" 
    }
    
    // End-->
    PHP:
    This is the data that i'm inputting into my HTML form -

    Empire Value: $3,781,581 Rank: 81
    Money: $2,556,932 Tokens: 90
    Working Junkies: 500 Training Junkies: 0
    Sewing Machines: 0 Gun Presses: 0
    Coat: Pakistani Made Travel Turban Guns: 95
    Empty Pockets: 6,025 Vests: 72,140
    Stamina: 200% Thugs: 0
    Used Pockets: 41,975 Drug Lab Size: 0 Sq. Ft.
    Current Station: Rit's House Drug Lab Set: Crystal Meth
    Dealer Visits Remaining: 0 Text Books: 235
    Code (markup):
    Anyone know what could be causing the error??
     
    Nazkyn, Mar 9, 2007 IP
  2. sarahk

    sarahk iTamer Staff

    Messages:
    28,812
    Likes Received:
    4,535
    Best Answers:
    123
    Trophy Points:
    665
    #2
    I always put a ; at the end of every javascript command.

    Once upon a time you didn't actually need to but I'd start there.

    Is that a firebug screen shot? Are you using Firefox to debug?
     
    sarahk, Mar 9, 2007 IP
  3. Nazkyn

    Nazkyn Peon

    Messages:
    3
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #3
    I fixed all of that and now it's parsing user input BUT on further testing because the final answer was WAAAAY out, I found this -

    [​IMG]

    Does anyone know why it's giving me the answer twice seperated by a comma??

    function answer() {
    var emptyPocketsOne = document.calc.regex.value.match(/Empty Pockets: (\d*)/);
    alert(emptyPocketsOne);
    }
    Code (markup):
     
    Nazkyn, Mar 10, 2007 IP
  4. Logic Ali

    Logic Ali Well-Known Member

    Messages:
    170
    Likes Received:
    5
    Best Answers:
    0
    Trophy Points:
    108
    #4
    Logic Ali, Mar 10, 2007 IP