jquerytools在Play中曝光的问题!教程

时间:2011-08-13 05:39:50

标签: javascript jquery syntax

我正在尝试Play! framework教程的帖子评论部分,其中jquery tools' expose函数用于将焦点带到文本字段。我正在使用jquery-1.5.2.min.jsjquery.tools-1.2.5.toolbox.expose.min.js

我在firefox和chrome中试过了这个页面。但是,焦点效果不会发生。

当我使用chrome的inspect元素/ Resources选项卡并检查脚本时,我发现了这些错误。

    Uncaught SyntaxError: Unexpected token < jquery.tools.1.2.5.toolbox.min.js:1
    Uncaught TypeError: Object [object Object] has no method 'expose'    postcomment:94
    (anonymous function)    postcomment:94
    d.extend._Deferred.f.resolveWithjquery-1.5.2.min.js:16
    d.d.extend.readyjquery-1.5.2.min.js:16
    d.c.addEventListener.yjquery-1.5.2.min.js:16

在“脚本”标签中,仅显示jquery-1.5.2.min.js,但不显示jquery.tools-1.2.5.toolbox.expose.min.js文件。

当使用mozilla firefox时,firebug cosole会报告2个错误

syntax error
[Break on this error] <!DOCTYPE html>\n  jquery.t...se.min.js (line 1)

$("form").expose is not a function
anonymous()postcomm...?postId=3 (line 97)

anonymous(Document postcomment?postId=3, [function()])jquery-1....2.min.js (line 16)

anonymous(Object name=a)jquery-1....2.min.js (line 16)

anonymous()jquery-1....2.min.js (line 16)

[Break on this error] $('form').expose({api: true, loadSpeed: 0}).load(); \npostcomm...?postId=3 (line 97

复制错误

$("form").expose is not a function
http://localhost:9000/application/postcomment?postId=3
Line 97

这是main.html中添加.js文件的部分

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>#{get 'title' /}</title>
        <meta charset="${_response_encoding}">
        <link rel="stylesheet" media="screen" href="@{'/public/stylesheets/main.css'}">
        #{get 'moreStyles' /}
        <link rel="shortcut icon" type="image/png" href="@{'/public/images/favicon.png'}">
        <script src="@{'/public/javascripts/jquery-1.5.2.min.js'}" ></script>
        <script src="@{'/public/javascripts/jquery.tools-1.2.5.toolbox.expose.min.js'}"></script>
        #{get 'moreScripts' /}
    </head>
    <body>
...

以及调用expose函数的show.html

#{extends 'main.html'/}
#{set title:post.title /}
...
<script type="text/javascript" charset="utf-8">
    $(function() {         
        // Expose the form 
        $('form').click(function() { 
            $('form').expose({api: true}).load(); 
        }); 

        // If there is an error, focus to form
        if($('form .error').size()) {
            $('form').expose({api: true, loadSpeed: 0}).load(); 
            $('form input[type=text]').get(0).focus();
        }
    });
</script>

有人可以帮我纠正吗?

2 个答案:

答案 0 :(得分:1)

Firebug中的实际标记(HTML)如何显示?

syntax error
[Break on this error] <!DOCTYPE html>\n  jquery.t...se.min.js (line 1)

似乎是无效的无效标记,虽然我看不到它来自哪里,但这些视图看起来很好。您是否检查过您的项目中是否存在/public/javascripts/jquery.tools-1.2.5.toolbox.expose.min.js

答案 1 :(得分:0)

好吧,终于找到了.. 我从教程中指向tutorial's jquery tools link的链接中获取了jquery tools javascript文件 它已损坏并且在开头包含<!DOCTYPE html> element。这会导致错误。在我阅读maenu的回复之前,我从未想过要查看javascript文件。感谢他......

当我使用flowplayer.org网站

中的.js文件时,曝光效果有效