jsp中调用js中的一个函数,函数传参的问题

看本帖只需要你有js基础就可以了!
今天用jsp+servlet+js实现一个删除的功能,结果遇到了一个问题
问题如下:
onclick="deleteOne(<%=message.getTitleId() %>)"
其中<%=message.getTitleId() %>是jsp动态地去取值,不懂得可以将其看成是一个变量;
function deleteOne(titleId){
var r=confirm("确认删除?");
if(r == true){
document.main.ck_value.value=titleId;
document.main.action="deleteServlet";
document.main.submit();
}
};

问题是deleteOne函数如果没参数,或者指定成整数,那么deleteOne(注意对应调用,无参的时候调用无参deleteOne,有参数的时候调用有参deleteOne)能正常被调用,但是如果参数不是整数,而是字符串(我们也确实传的是字符串),那么问题就来了,[color=red]deleteOne函数没被调用[/color]
后来我查看编译后的页面源代码,如下
删除

可以看到[color=red]deleteOne(OMG80)[/color],仔细看,请问deleteOne函数的参数是什么?
是整数吗,显然不是;那么是字符串吗,[color=red]也不是[/color],字符串需要" "或者' ',所以问题找到,我们读不懂参数类型,机器更读不懂,所以它不知所措,那么理所当然的deleteOne函数没被调用

如何解决了?
onclick="deleteOne('<%=message.getTitleId() %>')"
加上引号就可以了

最后附上项目源码,有分页、查询、批量操作等功能
有创建数据库表的语句,但是没有创建数据库,注意自己创建数据库,相应的连接数据库的语句也需要修改,我用的是mysql5.0

你可能感兴趣的:(web前端,js,jsp)