首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索字段中的错误,javascript minifier错误

检索字段中的错误,javascript minifier错误
EN

Stack Overflow用户
提问于 2015-09-01 05:07:07
回答 2查看 249关注 0票数 0

我知道这个问题现在可能有很多重复,但我在我的救生筏项目工作时遇到了这个问题。

通过这样做,我将检索到的数据库字段放在jsp中,

代码语言:javascript
复制
<portlet:resourceURL  var="imageResourceURL1">
<portlet:param name="image" value="nbi"/>
</portlet:resourceURL>

<script type="text/javascript">
    function checkUploads(){
        <% 
            Blob nbi=null, omb=null, san=null, cs=null, birthCert=null, affid=null, waiver=null;
            try{

                attachments a = attachmentsLocalServiceUtil.getAttachmentsByUserId();

                nbi = a.getNbi_clearance();
                omb = a.getOmbudsman_clearance();
                san = a.getSandiganbayan_clearance();
                cs = a.getCivil_service_clearance();
                birthCert = a.getBirthcertificate();
                affid = a.getAffidavit_of_no_relation();
                waiver = a.getAuth_waiver();

                out.println(nbi);
                out.println(omb);
                out.println(san);
                out.println(cs);
                out.println(birthCert);
                out.println(affid);
                out.println(waiver);

            }catch(Exception e){
                out.println(e);
            }
        %>

        /* check nbi */  
        if(nbi == null || nbi == ""){
            $(".nbiUpload").empty().append(
            '<input type="file" accept="image/*" name="<portlet:namespace />nbiFile" id="nbi" style="display:none" />'
            +'<input type="text" id="nbiFilename" />'
            +'<button type="submit" id="nbiBrowse" onclick="$("#nbi").click()">Browse</button>'
            +'<button type="button" id="nbiUpload" name="<portlet:namespace />nbisubmit">Upload</button>'
            +'<script type="text/javascript">'
                +'$("#nbi").change(function(e) {'
                    +'$("#nbiFilename").val(this.files[0].name);'
                +'});'
                +'$("#nbiUpload").click(function(event){'
                    +'event.preventDefault();'
                +'});'
                +'$("#nbiBrowse").click(function(event){'
                    +'event.preventDefault();'
                +'});'
            +'< /script>');
        }else{
            $(".nbiUpload").empty().append(
            '<a id="nbiclearance" href='<%=imageResourceURL1.toString()%>' rel="lightbox" style="cursor:pointer">'
            +'<img src='<%=imageResourceURL1.toString()%>' alt="no Image" id="img_nbi_clearance" style="height:100px;width:130px;cursor:pointer;" border="0"></a>');
        }
    }
</script>

我无法理解的是这些错误,我会犯这样的错误,

代码语言:javascript
复制
18:28:13,916 ERROR [http-bio-8080-exec-160][MinifierUtil:111] 3: 38: missing ; before statement
18:28:13,917 ERROR [http-bio-8080-exec-160][MinifierUtil:111] 7: 33: missing ; before statement
18:28:13,918 ERROR [http-bio-8080-exec-160][MinifierUtil:111] 24: 10: syntax error
18:28:13,918 ERROR [http-bio-8080-exec-160][MinifierUtil:111] 26: 39: missing ) after argument list

也许我只是语法错误,所以请帮助我。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-01 06:26:51

没有给出问题的确切位置(当你只能读取一些生成输出的代码时就很难了),下面是我希望你自己来调试它的方式:你的问题似乎是使用Minifier --它是一个组件,它删除多余的空格和换行,并假设脚本代码是有效的。解决这个问题的一个很好的技巧是暂时删除<script>标记。用(script)(/script)替换它,打开页面,搜索这个临时内容,迷你器就不会碰它了。但是现在您可以看到HTML文档中到底呈现了什么。

典型的问题是:您应该考虑转义输出的各种值:数据库中的文件名或其他数据可能包含空格、引号或其他特殊字符,这些字符会扰乱输出并在意想不到的地方终止字符串。

另一种选择是:将?strip=0添加到URL -这将禁用Liferay的JS小型机。您仍然会有无效的JS代码,但是现在浏览器的开发工具可以直接指向有问题的地方。

票数 1
EN

Stack Overflow用户

发布于 2015-09-01 05:18:14

我想你错过了在脚本的其他部分加上"+“。

代码语言:javascript
复制
if(nbi == null || nbi == ""){
    $(".nbiUpload").empty().append(
    '<input type="file" accept="image/*" name="<portlet:namespace />nbiFile" id="nbi" style="display:none" />'
    +'<input type="text" id="nbiFilename" />'
    +'<button type="submit" id="nbiBrowse" onclick="$("#nbi").click()">Browse</button>'
    +'<button type="button" id="nbiUpload" name="<portlet:namespace />nbisubmit">Upload</button>'
    +'<script type="text/javascript">'
        +'$("#nbi").change(function(e) {'
            +'$("#nbiFilename").val(this.files[0].name);'
        +'});'
        +'$("#nbiUpload").click(function(event){'
            +'event.preventDefault();'
        +'});'
        +'$("#nbiBrowse").click(function(event){'
            +'event.preventDefault();'
        +'});'
    +'< /script>');
}
else
{
    $(".nbiUpload").empty().append(
    '<a id="nbiclearance" href=' + '<%=imageResourceURL1.toString()%>' + ' rel="lightbox" style="cursor:pointer">'
    +'<img src=' + '<%=imageResourceURL1.toString()%>' + ' alt="no Image" id="img_nbi_clearance" style="height:100px;width:130px;cursor:pointer;" border="0"></a>');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32323914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档