您的位置:首页 > 其它

工作中遇到的问题及解决办法11

2007-06-26 23:49 483 查看
今天测试了我的程序,发现一个bug,或者说没有复合需求的一个小地方,但是问题却比较经典,这让我必须反思一下了.

先看看"工作中遇到的问题及解决办法10"中,我的这个javascript字符和ascii转码的代码,OK!没有问题!但是这样做不符合变更的需求了.

需求变更:

版本号从A-Z,就26个字母.修订号是不断自加的!说的这些都是基于修改页面操作的,当我选onclick版本号,版本号会按着A-Z的顺序不停的循环,当循环到Z时,再重新设置为A,如此反复进行下去.每次的版本号onclick时,修订号自动变成0.这个很好实现.每次的修订号onclick时,版本号要自动回到刚进修改页面时的那个修订号....这才是一个脑筋急转弯的地方,这可咋整?看看我改过来的代码吧:

(1)javascript中怎么把字符转化成ascii码及怎么把ascii码转化成字符

<script>

function updatecheck(id)
{

if(id=="1")
{

//当选定版本号时,把修订号设成0
document.forms[0].fileUpdateNumber.value = "0";
var fledtion ="";
//获得fileEditionNumber的值,并且截取第1位(第1位是英文字母A-Z)
var fileedition = document.forms[0].fileEditionNumber.value.substring(0,1);

//将字符转化为相应的ASCII码
var fileeditionCode = document.forms[0].fileEditionNumber.value.charCodeAt(0);
fileeditionCode = fileeditionCode+1;

//将上面转化的ASCII码转换成相应的字符
fledtion = String.fromCharCode(fileeditionCode);

var edir = fledtion;

//循环到Z以后,重新设定版本号为A
if(edir == "["){
//alert("无可换版本号!");
edir = "A";
document.forms[0].fileEditionNumber.value = edir;
return false;
}else{
//alert(edir);
document.forms[0].fileEditionNumber.value = edir;

}

}

if(id=="2")
{

var fileupdatenumber = document.forms[0].fileUpdateNumber.value;
fileupdatenumber++;
var m = "0"+fileupdatenumber;

// 此处将页面传递过来的版本号赋给版本号,这句话是解决问题的关键,"

//<%=tfileInfor.getFileEditionNumber()%>"是从数据库里取出来的版本号,也就是需求的那个难点
document.forms[0].fileEditionNumber.value = "<%=tfileInfor.getFileEditionNumber()%>";

document.forms[0].fileUpdateNumber.value = m ;

}

}

</script>

<html:form action="略" method="post">

<table width="100%" height="25" border="0" cellpadding="0" cellspacing="0" class="font_14">
<tr>
<td><div align="center">变更:</div></td>
<td><input type="radio" name="update" value="1" onclick="javascript:updatecheck(this.value);"/>版本号 </td>
<td><input type="radio" name="update" value="2" onclick="javascript:updatecheck(this.value);"/>修订号 </td>
</tr>

<tr>
<td><div align="center">版本号:</div></td>
<td ><input type="text" name="fileEditionNumber" value="<%=fileEditionNumber%>"/></td>
</tr>

<tr>
<td width="130"><div align="center">修订号:</div></td>
<td><input type="text" name="fileUpdateNumber" value="<%=fileUpdateNumber%>"/></td>
</tr>
</table>

</html:form>

这就是解决问题的办法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: