关闭

科研道德与学风行为调查-中国科学院心理研究所•2007年8月完整示例(三)

684人阅读 评论(0) 收藏 举报
科研道德与学风行为调查-中国科学院心理研究所•2007年8月完整示例(一)
科研道德与学风行为调查-中国科学院心理研究所•2007年8月完整示例(二)


调查中主要用到的js脚本,文件为survey.js,代码如下:
//[CDATA[
var GRP1ITEMNO = 30 //第一组问题的数量
var GRP2ITEMNO = 20 //第二组问题的数量
var GRP3ITEMNO = 10 //第三组问题的数量
var GRP4ITEMNO = 4 //第四组问题的数量
var GRP5ITEMNO = 5 //第五组问题的数
var DEBUG = false;//是否调试
var arrGrp = [GRP1ITEMNO,GRP2ITEMNO,GRP3ITEMNO,GRP4ITEMNO,GRP5ITEMNO];

function chkForm(o)
{
    
var flag = false;
    
var curPanel = o.substring(o.indexOf("panel$Grp")+9);
    
var e = document.all.frm||$("frm");
    
var it,flag,i;
    flag 
= false;
    
    
if(isNaN(curPanel)) 
    
{
        alert(
"非法访问!");
        
return false;
    }

    
    
//对于第一个页面无需做任何处理
    if(curPanel==1||curPanel==7
        
return true;
    
    
//对于第5组题,需要判断是否为空,并且不能有重复
    if(curPanel==5)
    
{
        
//循环查找是否存在没有填写的文本框,如果填写则检测其类型及大小
        for(i = 1;i<= arrGrp[curPanel-2];i++)
        
{
            
var itLen = eval("e.Grp"+(curPanel-1)+"$Q"+i+".length");
            
            
for(var j = 0;j<itLen;j++)
            
{
                
var itChk = eval("e.Grp"+(curPanel-1)+"$Q"+i+"["+j+"].value");
                
                
if(itChk=="")
                
{
                    alert(
"请填写第"+i+"");
                    eval(
"e.Grp"+(curPanel-1)+"$Q"+i+"["+j+"].focus()");
                    
return false;
                }

            }
    
        }

        
//        if(!confirm("点选下一步之后前面的作答将不能修改,请确保无误之后再点击下一步按钮!"))
//
        {
//
            return;
//
        }
        return true;
    }


    
for(i = 1;i<= arrGrp[curPanel-2];i++)
    
{
        
//var it = eval("e.Grp"+(curPanel-1)+"$Q"+i);
        var itLen = eval("e.Grp"+(curPanel-1)+"$Q"+i+".length");
        
        
for(var j = 0;j<itLen;j++)
        
{
            
var itChk = eval("e.Grp"+(curPanel-1)+"$Q"+i+"["+j+"].checked");

            
if(itChk)
            
{
                flag 
= true;
                
break;
            }

            
            
if(!itChk && j == itLen-1)
            
{
                flag 
= false;
                
break;
            }

        }

        
        
if(!flag)
        
{
            alert(
"请选择第"+i+"");
            
return false;
        }

        
    }

    
if(!flag)
    
{
        alert(
"请选择第"+i+"");
        eval(
"e.Grp"+(curPanel-1)+"$Q"+i+".focus()");
        
return false;
    }

    
//    if(!confirm("点选下一步之后前面的作答将不能修改,请确保无误之后再点击下一步按钮!"))
//
    {
//
        return;
//
    }
    
    
return true;
}


//检测是否存在已经填过的序号
function isExists(o)
{
    
var curPanel = 5;
    
var e = document.all.frm||$("frm");
    
    
if(isNaN(o.value)||o.value>16)
    
{
        alert(
"请填写数字序号,且不能超过16!");
        o.value
="";
        o.focus();
        
return false;
    }

    
    
    
for(var i = 1;i<= arrGrp[curPanel-2];i++)
    
{
        
var itLen = eval("e.Grp"+(curPanel-1)+"$Q"+i+".length");
        
var itChk,itPre,itTmp;
        
        
//本组内进行比较
        for(var k=0; k < itLen; k++)
        
{
            itPre 
= eval("e.Grp"+(curPanel-1)+"$Q"+i+"["+k+"].value");
            
            
if(itPre=="")
                
continue;
                
            
for(var l=k+1; l < itLen; l++)
            
{
                itChk 
= eval("e.Grp"+(curPanel-1)+"$Q"+i+"["+l+"].value");
                
                
if (itChk=="")
                    
continue;
                
                
if(itPre == itChk)
                
{
                    alert(
"您填写的管理措施已经使用了,请换填写其它的!");
                    eval(
"e.Grp"+(curPanel-1)+"$Q"+i+"["+l+"]").value="";
                    eval(
"e.Grp"+(curPanel-1)+"$Q"+i+"["+l+"]").focus();
                    
break;
                }

            }

        }

        
//本组跟其它的组相比
        for(var j = 0;j<itLen;j++)
        
{
            
var itChk = eval("e.Grp"+(curPanel-1)+"$Q"+i+"["+j+"].value");

            
if(itChk!="")
            
{
                
if(parseInt(itChk) == parseInt(o.value))
                
{
                    
if(("e.Grp"+(curPanel-1)+"$Q"+i).indexOf(o.id)==-1)
                    
{
                        alert(
"您填写的管理措施已经使用了,请换填写其它的!");
                        o.value
="";
                        o.focus();
                        
break;
                    }


                }

            }

        }
    
    }

    
    
return true;
}


//显示相应题组的题目
function ShowPanel(o)
{
    
if(!chkForm(o))
    
{
        
return;
    }

    
    
for(var i=1; i<=7; i++)
    
{
        $(
"panel$Grp"+i).style.display = "none";
    }

    $(o).style.display 
= "block";
}


//显示所有题组的题目
function ShowAll()
{
    
for(var i=1; i<7; i++)
    
{
        $(
"panel$Grp"+i).style.display = "block";
    }

}


function chk()
{
    
var oAge = document.all["Grp6$Q3"];
    
var oEdu = document.all["Grp6$Q4"];
    
var oTitle = document.all["Grp6$Q5"];
    
var oDuty = document.all["Grp6$Q6"];
    
var flag = false;
    
    
if($('companyChild').selectedIndex==0)
    
{
        alert(
"请选择您所在的单位名称");
        $(
'companyChild').focus()
        
return false;
    }

    
    
for(var i = 0; i < oAge.length; i++)
    
{
        
if(oAge[i].checked)
        
{
            flag 
= true;
            
break
        }

    }

    
if(!flag)
    
{
        alert(
"请选择您的年龄");
        oAge[
0].focus();
        
return false;
    }

    flag 
= false;
    
for(var i = 0; i < oEdu.length; i++)
    
{
        
if(oEdu[i].checked)
        
{
            flag 
= true;
            
break
        }

    }

    
if(!flag)
    
{
        alert(
"请选择您的教育程度");
        oEdu[
0].focus();
        
return false;
    }

    flag 
= false;
    
for(var i = 0; i < oTitle.length; i++)
    
{
        
if(oTitle[i].checked)
        
{
            flag 
= true;
            
break
        }

    }

    
if(!flag)
    
{
        alert(
"请选择您的职称或身份");
        oTitle[
0].focus();    
        
return false;
    }

    
    flag 
= false;
    
for(var i = 0; i < oDuty.length; i++)
    
{
        
if(oDuty[i].checked)
        
{
            flag 
= true;
            
break
        }

    }

    
if(!flag)
    
{
        alert(
"请选择您的现任职务");
        oDuty[
0].focus();    
        
return false;
    }

    flag 
= false;
    
//    if(!confirm("请确保基本信息无误之后再点击提交按钮!"))
//
    {
//
        return;
//
    }
    
    
return true;
}

window.onerror
=function()
{
    
if(!DEBUG)
    
{
        window.status
="";
        
return true;
    }

}

//]]
 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:208559次
    • 积分:4431
    • 等级:
    • 排名:第7183名
    • 原创:100篇
    • 转载:203篇
    • 译文:1篇
    • 评论:101条
    文章分类
    最新评论