学了10来天的extjs,想了想得做出点什么东西出来,
于是写了个ssh2+ext的在线考试系统,现将源码公开免费下载,希望能与大家共同学习。
时间仓促,有不好的地方也欢迎大家指出!!
浏览器建议大家使用firefox和chrome测试
来张erd图,大家凑合着看,呵呵
---------------------------------------------------------------------------------
首先我们来先看看登录框,虽说有点简单..
这里的验证码是这样实现的,首先写个获取验证码的函数:
function getVerifyCode(){//verifyCodeId是个图片div
document.getElementById('verifyCodeId').innerHTML =
'<a id="getCode" href="javascript:void(0);"><img class="img-verifyCode"' +
'src=verifyCode.action?num='+Math.random()+'/></a>';
}
再给这个图片div加个点击监听函数,这样就可以点击图片刷新验证码了
Ext.get('getCode').on('click',function(){
document.getElementById('getCode').innerHTML =
'<a id="getCode" href="javascript:void(0);"><img class="img-verifyCode" '+
'src=verifyCode.action?num='+Math.random()+'/></a>';
});
---------------------------------------------------------------------------------
主菜单:采用border布局,这里简单说下如何让图片充满整个button?
可惜ext没有自定义button的图片大小的..(当时这个问题可是整了我一天!)
加上这个属性
iconCls : String
一个CSS类,设置一个背景图片,当前按钮将使用此图片作为图标
所以我们只需要写好一个类选择器对应该button即可,
并且选择器里面的属性都加上 !important就行了,这样就使得ext的样式无效了
.start {
background-image: url(img/start.png) !important;
width: 96px !important;
height: 96px !important;
}
![](https://img-my.csdn.net/uploads/201208/04/1344065373_5216.jpg)
考试界面:
![](https://img-my.csdn.net/uploads/201208/04/1344065826_6618.jpg)
题目的默认选项必须是4个,当然你还可以增加一个选项,
这里我根据后台返回的options的长度决定生成checkbox的数量
function DynamicCheckbox(optionsLen){
var chs = ['A','B','C','D'];
if(optionsLen == 5){
chs.push('E');
}
var checkboxItem = [];
for(var i = 0; i < chs.length; i++){
var checkbox = new Ext.form.Checkbox({
id:chs[i]+"id",
name:'width-'+chs[i]+'-box',
boxLabel:chs[i],
listeners:{
'render':(function(idx){
return function(el){
el.getEl().parent().addClass('width-'+chs[idx]+'-box');
}
})(i)//闭包函数
}
});
checkboxItem.push(checkbox);//循环一次加入一个checkbox到数组
}
return checkboxItem;
}
---------------------------------------------------------------------------------
后台管理:需要权限大于10才能进入
![](https://img-my.csdn.net/uploads/201208/04/1344067071_4095.jpg)