0

オンラインで Web 開発者コースを受講しており、プロジェクトの 1 つは架空の株式取引サイトを作成することです。

ルックアップ ページで jQuery と Validator プラグインを使用していますが、Chrome に読み込むと、Uncaught SyntaxError: Unexpected token メッセージが表示され続けます。「:」の場合もあれば、「<」の場合もあります。

私はサイトの同様のエントリを調べて、すべての文字を表示しようとし、一致する括弧と中括弧 (メモ帳 ++) を確認しましたが、役に立ちませんでした。

ページコードは以下です。ポインタをいただければ幸いです。ばかげたことを見逃していないことを願っていますが...

    <?
    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>

私が正しく投稿したことを願っています。前もって感謝します。

4

2 に答える 2

2

JS ヒントによると、コードにいくつかのエラーがあります。それらを修正して、もう一度確認してください:)

1 行目は $(document).ready です

自分でテストしたい場合: http://www.jshint.com/

エラー: 13 行目: }、余分なコンマ。

20 行目: }、余分なカンマ。

45 行目: success: function(data) { 40 行目の '{' に一致する '}' が予期されていましたが、代わりに 'success' が表示されました。

45 行目: success: function(data) { ')' が予期されていましたが、代わりに ':' が表示されました。

45 行目: success: function(data) { セミコロンがありません。

45 行目: success: function(data) { 関数宣言に名前がありません。

66 行目: }、余分なコンマ。

行 74: }、余分なカンマ。

92行目: }); '(end)' が予期されていましたが、代わりに '}' が表示されました。

于 2012-08-01T12:30:07.060 に答える
1

あなたの問題は、正しく定義されていないことが原因です。宣言の開始と終了の前にCDATAa が必要です。//

 <script type="text/javascript">
     //<![CDATA[

     // your code here....

     //]]>
 </script>

それに加えて、いくつかの余分なコンマといくつかの欠落したコンマがあります

于 2012-08-01T12:33:42.430 に答える