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

科研道德与学风行为调查-中国科学院心理研究所•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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值