By——sam.黄
这两个星期,一直在做志愿者培训的功能。现在大体已经做好了,在实现功能的过程中也遇到过不少小问题,在队友和自己的努力下也都一一解决了,下面简单说下我遇到的问题和解决的方法,希望大家用到的话有个借鉴。
用过radiobutton的同学可能知道,当几个radiobutton的name属性相同的时候,这几个radiobutton就被认为是一组的,也就是说这几个radiobutton你只能选一个提交,而刚开始我也忘记了这一点!所以在动态加培训测试题的时候,供每道题选择答案的四个radiobutton按钮就为难了我很久,培训题目是动态加载到页面的,谁也不知道培训题目有多少道,当培训题目有N道的时候动态加载到页面的radiobutton就应该有4N个,可是当我把题目全部加载完到页面的时候,全部4N个radiobutton只能选一个答案,开始我只以为是radiobutton的ID冲突,但是当我解决了ID冲突后还是出现同样的问题,和叙钿讨论后,尝试解决radiobutton的name属性冲突后就可以了,真是纸上得来终觉浅,要知此事需躬行。相信以后不会再忘记了。
这是对应的两张图片,冲突没解决之前:解决之后:
下面是我解决ID冲突和name属性冲突后的代码
代码
function GetzyzTextListShow()
{
DelRow( " zyzText " );
var xmlhttp = xmlHttpRequest;
var Result = new Array();
Result = analyse(xmlhttp.responseText);
if (Result != null )
{
try
{
var sID,sValue0,sValue1,sValue2,sValue3,sValue4,sValue5;
if (Result.length != null )
{
for (var i = 0 ,j = 0 ;i < Result.length;i ++ )
{
sID = GetValue(Result[i], " ID " );
sValue1 = " <tr οnmοuseοver=\ " this .style.backgroundColor = ' #B5E2F9 ' \ " οnmοuseοut=\ " this .style.backgroundColor = ' #f1f1f2 ' \ " style='height:41px; background-color:#f1f1f2'> " ;
sValue1 += " 题目: " + GetValue(Result[i], " sTitle " ) + " </br> " ;
sValue1 += " A " + GetValue(Result[i], " aSelect " ) + " " + " B " + GetValue(Result[i], " bSelect " ) + "" ;
sValue1 += " C " + GetValue(Result[i], " cSelect " ) + " D " + GetValue(Result[i], " dSelect " ) + " </br> " ;
sValue1 += " <input id='Radio " + 1 + j + " ' type='radio' name='radiobutton " + i + " ' value='A'/>A<input id='Radio " + 2 + j + " ' type='radio' name='radiobutton " + i + " ' value='B'/>B " ;
sValue1 += " <input id='Radio " + 3 + j + " ' type='radio' name='radiobutton " + i + " ' value='C'/>C<input id='Radio " + 4 + j + " ' type='radio' name='radiobutton " + i + " ' value='D'/>D " ;
AddRow( " zyzText " ,sValue1);
j = j + 4 ;
}
}
}
catch (err)
{
alert(err.message);
}
}
else
{
AddRow( " zyzText " , " 没有相应的培训 " );
}
}
{
DelRow( " zyzText " );
var xmlhttp = xmlHttpRequest;
var Result = new Array();
Result = analyse(xmlhttp.responseText);
if (Result != null )
{
try
{
var sID,sValue0,sValue1,sValue2,sValue3,sValue4,sValue5;
if (Result.length != null )
{
for (var i = 0 ,j = 0 ;i < Result.length;i ++ )
{
sID = GetValue(Result[i], " ID " );
sValue1 = " <tr οnmοuseοver=\ " this .style.backgroundColor = ' #B5E2F9 ' \ " οnmοuseοut=\ " this .style.backgroundColor = ' #f1f1f2 ' \ " style='height:41px; background-color:#f1f1f2'> " ;
sValue1 += " 题目: " + GetValue(Result[i], " sTitle " ) + " </br> " ;
sValue1 += " A " + GetValue(Result[i], " aSelect " ) + " " + " B " + GetValue(Result[i], " bSelect " ) + "" ;
sValue1 += " C " + GetValue(Result[i], " cSelect " ) + " D " + GetValue(Result[i], " dSelect " ) + " </br> " ;
sValue1 += " <input id='Radio " + 1 + j + " ' type='radio' name='radiobutton " + i + " ' value='A'/>A<input id='Radio " + 2 + j + " ' type='radio' name='radiobutton " + i + " ' value='B'/>B " ;
sValue1 += " <input id='Radio " + 3 + j + " ' type='radio' name='radiobutton " + i + " ' value='C'/>C<input id='Radio " + 4 + j + " ' type='radio' name='radiobutton " + i + " ' value='D'/>D " ;
AddRow( " zyzText " ,sValue1);
j = j + 4 ;
}
}
}
catch (err)
{
alert(err.message);
}
}
else
{
AddRow( " zyzText " , " 没有相应的培训 " );
}
}