2012-08-01 1 views
0

온라인 웹 개발자 과정을 따르고 있으며 프로젝트 중 하나는 가상의 주식 거래 사이트를 만드는 것입니다.Javascript/JQuery - Chrome 예기치 않은 토큰

내 조회 페이지에서 jQuery 및 유효성 검사기 플러그인을 사용하고 있지만 Chrome에서로드 할 때 계속 잡히지 않습니다. SyntaxError : 예기치 않은 토큰 메시지가 표시되며 때로는 ":", 다른 시간은 "<"입니다.

사이트에서 유사한 항목을 살펴본 결과 모든 문자를 표시하고 괄호와 중괄호 (notepad ++)가 없는지 확인한 후 도움을 요청하기 전에 코드를 반복해서 사용했습니다.

페이지 코드는 다음과 같습니다. 나는 정말로 어떤 조언도 감사 할 것이다. 다행히 바보 같은 것을 놓치지 않았 으면 좋겠지 만 ...

<? 
    require("../includes/common.php"); 
    $userID = $_SESSION['id']; 

    $userQuery = $dsn->prepare("SELECT balance FROM cs75f_users WHERE uid=:uidQ"); 
    $userQuery->bindParam(":uidQ",$userID); 
    $userQuery->execute(); 
    $userData = $userQuery->fetch(); 
    $userBalance = $userData[0]; 
?> 

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="javascript/jquery-1.7.2.min.js"></script> 
<script type="text/javascript" src="javascript/jquery.validate.js"></script> 
<style type="text/css"> 
* { font-family: Verdana; font-size: 96%; } 
label { width: 10em; float: left; } 
label.error { float: none; color: red; padding-left: .5em; vertical-align: top; } 
p { clear: both; } 
.submit { margin-left: 12em; } 
em { font-weight: bold; padding-right: 1em; vertical-align: top; } 
</style> 
<script type="text/javascript"><![CDATA[ 

$(document).ready(function() 
{ 
    $("#search").select(); 
    $("#infoDiv").slideUp(); 
    $("#buyDiv").slideUp(); 

    var searchVal = $("#searchForm").validate({ 
     rules:{ 
      search:{ 
       required:true, 
       minlength:4, 
       maxlength:4 
      }, 
     }, 
     messages:{ 
      search:{ 
       required:"Please enter a valid stock symbol", 
       minlength:"Please enter a valid 4 character stock symbol", 
       maxlength:"Please enter a valid 4 character stock symbol" 
      }, 
     }, 
     errorPlacement: function(error,element) 
     { 
      if (element.is(":radio")) 
      { 
       error.appendTo(element.parent().next().next()); 
      } 
      else if (element.is(":checkbox")) 
      { 
       error.appendTo(element.next()); 
      } 
      else 
      { 
       error.appendTo(element.parent().next()); 
      } 
     } 
    }); 

    $("#searchForm").submit(function() { 
     $.ajax({ 
      url:"getquote.php", 
      data:{ 
       symbol:$("#search").val() 
        } 
      success: function(data) { 
       $("#name").html(data.name); 
       $("#price").html(data.price); 
       $("#high").html(data.high); 
       $("#low").html(data.low); 
       $("#infoDiv").slideDown(); 
       $("#buyDiv").slideDown(); 
       $("#qty").select(); 
       $("#hSymbol").val(data.symbol); 
      } 
     }); 
     return false; 
    }); 

    var buyVal = $("#buyForm").validate({ 
     rules:{ 
      qty:{ 
       required:true, 
       min:1, 
       max:10000, 
       digits:true 
      }, 
     }, 
     messages:{ 
      qty:{ 
       required:"Please enter a valid quantity", 
       min:"You must purchase at least one share", 
       max:"Upper limit of 10,000 shares at one time", 
       digits:"Please enter a valid number" 
      }, 
     }, 
     errorPlacement:function(error,element) { 
      if (element.is(":radio")) 
      { 
       error.appendTo(element.parent().next().next()); 
      } 
      else if (element.is(":checkbox")) 
      { 
       error.appendTo(element.next()); 
      } 
      else 
      { 
       error.appendTo(element.parent().next()); 
      } 
     } 

    }); 
}); 

]]></script> 

<title>CS75 Finance Login</title> 

</head> 
<body> 
<div id="logo" align="center"> 
    <img src="images/logo.gif" border="0" alt="CS75 Finance" /> 
</div> 
<div id="welcome" align="center"> 
    <h4>Welcome to CS75 Finance</h4> 
    <h4>Stock Information Quote</h4> 
</div> 

<div id="searchDiv" align="center"> 
    <form id="searchForm"> 
     <table border="0" cellspacing="2" cellpadding="2"> 
      <tr> 
       <td>Symbol:</td> 
       <td><input type="text" id="search" size="10" /></td> 
       <td></td> 
       <td><input type="submit" value="Search" /></td> 
      </tr> 
     </table> 
    </form> 
</div> 

<div id="infoDiv" align="center"> 
    <h4>Selected stock details:</h4> 
    Company: <span id="name"></span><br /> 
    Price: $<span id="price"></span><br /> 
    High: $<span id="high"></span><br /> 
    Low: $<span id="low"></span><br /> 
</div> 

<br /> 

<div id="buyDiv" align="center"> 
    <form id="buyForm" method="post" action="buy.php"> 
     <table border="0" cellspacing="2" cellpadding="2"> 
      <tr> 
       <td colspan="5" align="center"><b>Your current balance is: $</b><? echo number_format($userBalance,2); ?></td> 
      </tr> 
      <tr> 
       <td><input type="hidden" id="hSymbol" /></td> 
       <td align="right">Qty:</td> 
       <td><input type="text" id="qty" name="qty" size="10" value="1" /></td> 
       <td></td> 
       <td><input type="submit" value="Purchase" /></td> 
      </tr> 
     </table> 
    </form> 
</div> 

<? 
    $dsn = NULL; 
?> 

<br /> 
<hr width="70%"> 
<p align="center">CS75 Finance. Copyright 2012. All right reserved.</p> 
</body> 
</html> 

희망 사항 올바르게 게시했습니다. 미리 감사드립니다.

+2

안녕을 가지고, 우리에게이를 다시 작성하는 단계를 제공, 즉 가능한 한 구체적으로 시도하십시오/오류가 발생한 줄 번호 (또는 줄)를 알려주십시오. – epoch

답변

2

JS 힌트에 따르면 코드에 오류가 있습니다. http://www.jshint.com/

Errors: Line 13: }, Extra comma.

Line 20: }, Extra comma.

Line 45: success: function(data) { Expected '}' to match '{' from line 40 and instead saw 'success'.

Line 45: success: function(data) { Expected ')' and instead saw ':'.

Line 45: success: function(data) { Missing semicolon.

Line 45: success: function(data) { Missing name in function declaration.

Line 66: }, Extra comma.

Line 74: }, Extra comma.

Line 92: }); Expected '(end)' and instead saw '}'.

+0

답장을 보내 주셔서 감사합니다. 저는 이것을 시도하고 어떻게 든 내 아약스 기능에서 쉼표를 빼먹었습니다. 3 일을 쉼표로 사용했습니다! 도움을 주셔서 감사합니다. –

+1

답을 솔루션으로 표시 하시겠습니까? :) –

0

귀하의 문제는 CDATA하지 않음으로써 발생 : 오류를 수정하고 다시 확인 :

라인 하나가 당신이 스스로를 테스트 할 경우

.ready (문서) 당신 $입니다보십시오 올바르게 정의 된 후에는 선언의 시작과 끝 앞에 //이 있어야합니다.

그 외에도
<script type="text/javascript"> 
    //<![CDATA[ 

    // your code here.... 

    //]]> 
</script> 

, 당신은 스택 오버플로에 오신 것을 환영합니다 몇 가지 추가 쉼표 및 일부 누락 된 쉼표

+1

답장을 보내 주셔서 감사합니다 -이 시도하고 어떻게 든 내 아약스 기능에 쉼표를 놓친 - 3 일 쉼표! 도움을 주셔서 감사합니다. –

관련 문제