我们爱分享---最近使用js遇到的一些问题
最近做东西,用jquery,很多自己懒的做了所以用了很多插件,这里分享一下遇到的一些问题。日历插件推荐一个国内的My97DatePicker,使用起来很简单,这个真不是做广告的。。
针对jquery的插件tinymce和validation在验证textarea不能同时工作的问题。原因是tinymce在提交第一次时并没有把信息存到表单中,所以无法验证。经过查了下一,官方作者也给了解决方案,DEMO:http://jquery.bassistance.de/validate/demo/tinymce/ ,不过我是使用了以下的解决办法:
$(function() {
$("input[type='submit']").click(function() {
tinyMCE.triggerSave();
});
//验证规则写在此处
$("#emailForm").validate({
rules: {
body: {
required:true
}
},
errorPlacement: function(label, element) {
if (element.is("textarea")) {
label.insertAfter(element.next());
} else {
label.insertAfter(element)
}
}
});
});
这个方法很好的解决了问题,虽然后来我弃tinymce改用xheditor,原因是xheditor是国内的,看着顺眼。好像csdn博客现在用的就是xheditor,不过csdn博客的有bug,已经反映。。
使用jquery的uploadify做的文件上传,这个遇到的问题就比较多了,总结起来就是session丢失的问题,过不了filter的那一关,我的解决办法是截取url,判断是上传就让filter放行。上传后在session中取不到用户信息,这个我的解决办法是传入参数用户唯一标识,然后去数据库查出用户信息进行使用。
再说一下两个和插件无关的。在让用户输入页码时验证用户不能输入非数字时,最好用onkeydown事件,因为onkeypress在英文输入法还能阻止,用中文输入法就检查不出来了,也就是说我切换到中文输入法回车能输入非数字。但是在火狐中没起作用,最后查了一下原因是他们的事件不一样,改了一下代码,如下
$("#pageNo").bind("keydown", function(e) {
e=e?e:window.event;
var keyCode = e.which?e.which:e.keyCode;
if(!((keyCode>=48&&keyCode<=57 || keyCode==8 || keyCode==46))) {
return false;
}
});
改了之后又发现问题了,就是在其他浏览器中文输入法也不能输入非数字,但火狐却能,我就又在onsubmit事件中判定了一下,如果不是输入的值不是介于第一页和最大页数之间,强制改为第一页,这样一来上面的代码就有点多余了,其实只需要在提交时验证 如果非数字强制变成 1 ,我的想法是你既然存心捣乱,我就不客气,强制你看第一页。
使用了frame,然后如果session过期时会重定向到登陆页面,但有时候只在一个frame中重定向了解决办法,在登陆页面加上一下js代码
if (window.self != window.top) {
window.top.location = window.self.location;
}
目前就发现这么多,而且jquery也是刚学,敬请指教! --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 学习了, 以后遇到这类问题可以避免过去 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 顶···· --------------------编程问答-------------------- 学习了~ --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- --------------------编程问答-------------------- 看看 ~~~~~~~~~ --------------------编程问答-------------------- OK 学习者 --------------------编程问答-------------------- --------------------编程问答-------------------- 学习啦! --------------------编程问答-------------------- --------------------编程问答-------------------- 分享帖,必须顶 --------------------编程问答-------------------- mark --------------------编程问答-------------------- validation最好是做双重的,client端和server端,要知道总用用户是禁用js的。 --------------------编程问答-------------------- --------------------编程问答-------------------- 呵呵。。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 不错不错 --------------------编程问答-------------------- mark --------------------编程问答-------------------- tytytyr --------------------编程问答-------------------- 学习学习、、、 --------------------编程问答-------------------- 试一下看看好不好用 --------------------编程问答-------------------- 个人总结分享的东西,有价值 --------------------编程问答-------------------- dddddddddddddd --------------------编程问答-------------------- 谢谢分享 --------------------编程问答-------------------- 有价值呀 ~~~~~~ --------------------编程问答-------------------- 学习中…… --------------------编程问答-------------------- 对于Jquery新手的我很有帮助 --------------------编程问答-------------------- 顶~~~ --------------------编程问答-------------------- --------------------编程问答-------------------- 不错。。。。。。。。。。。。。 --------------------编程问答-------------------- 学习了, 以后遇到这类问题可以避免过去
补充:Java , Java EE