科研道德与学风行为调查-中国科学院心理研究所•2007年8月完整示例(一)
科研道德与学风行为调查-中国科学院心理研究所•2007年8月完整示例(二)
调查中主要用到的js脚本,文件为survey.js,代码如下:
科研道德与学风行为调查-中国科学院心理研究所•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;
}
}
// ]]
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;
}
}
// ]]