日期:2014-05-17  浏览次数:20724 次

jwork 十万火急,求救命
String[] name = new String[] {...}数组中的FILE_NAME是字符串
"'<a href=\"javascript:del('||ID||','||FILE_NAME||')\" title=\"删除\">删除</a>'"
这句改怎么改?才能取到值
如果就是这样:生成的页面代码如:<a href="javascript:del(351,111.txt)" title="删除">因为没有引号而不会去调js
如果能加引号该怎么加,我各种试都没有成功!


Java code

HtmlTableBody tblHtml = new HtmlTableBody(true);
        int pageNumber = 1;
        int count = 15;
        String getMenuListSql = "select ID,FILE_NAME,REAL_FILE_NAME,OPER_ID,INSERT_TIME,UPLOAD_TIME from "
                + TABLE_NAME;
        log.info("getMenuListSql = " + getMenuListSql);
        try {
            pageNumber = NumberUtils.toint(http.getParameter("page", "1"));
            tblHtml.setTableName(getMenuListSql);
            String[] name = new String[] {
                    "ID",
                    "FILE_NAME",
                    "REAL_FILE_NAME",
                    "OPER_ID",
                    "INSERT_TIME",
                    "UPLOAD_TIME",
                    "'<a href=\"javascript:get('||ID||','||ID||')\" title=\"下载\">下载</a>'",
                    "'<a href=\"javascript:modify('||ID||','||ID||')\" title=\"修改\">修改</a>'",
                    "'<a href=\"javascript:del('||ID||','||FILE_NAME||')\" title=\"删除\">删除</a>'",
                    "'<input type=\"checkbox\" name=\"batchdel\" value=\"'||FILE_NAME||'\"/>'" };
            tblHtml.setColumnName(name);



------解决方案--------------------
\' 这样
------解决方案--------------------
生成的代码应该是:
<a href="javascript:del(351,'111.txt')" title="删除">
或者 <a href="javascript:del(351,\"111.txt\")" title="删除">

具体到代码里,可以试试'<a href=\"javascript:del('||ID||',\''||FILE_NAME||'\')\" title=\"删除\">删除</a>'

------解决方案--------------------
<a href="#" onclick="del(351,\'111.txt\');" title="删除"></a>
这样写呢?在href里写javascript:del(351,\'111.txt\');这样写没有引号不能执行是因为你的这个111.txt有语法问题,一般来说拼接的做法是这样的

var str='';
str+='<a href="#" onclick="del(351,\'111.txt\');" title="删除"></a>';
或者这样写也没问题:
str+='<a href="#" onclick=del(351,"111.txt"); title="删除"></a>';
浏览器一般来说会过滤掉,除非是html5有严格的要求。