是不是宽度小了 试一下看 <input type=text maxlength=20 size=20 name="<%=pageBean.EDITION %>" style="width:300px"
value="<%=pageBean.getEdition() %>" />
<input type="button" onclick="createCode()" value="生成版本号">
<input type=text maxlength=4 size=4 name="number" value=""/>
value="<%=pageBean.getEdition() %>" />
<input type="button" onclick="createCode()" value="生成版本号">
<input type=text maxlength=4 size=4 name="number" value=""/>
不是的 , style="width:300px"这个是控制文本框的宽度 maxlength=20 才是控制文本框里输入字符串的宽度,
而且第一次进入这个页面时就显示正常的2.0.2.1 value=" <%=pageBean.getEdition() %>" 只是在点过按钮以后就少了最后一个1 , 超级郁闷ing。
if(isNaN(number.value)==false){
version.value="<%=pageBean.getAnotheredition()%>"+"."+trim(number.value);
}
这句运行的结果你可以在这里加个 return 表示如果条件为真下面的代码就不运行了....
if(number.value==""){
version.valmue="<%=pageBean.getEdition()%>";
alert("<%=pageBean.getEdition()%>");
return; //这里加个return }
version.valmue="<%=pageBean.getEdition()%>"; //应为version.value="值"
alert("<%=pageBean.getEdition()%>"); if(isNaN(number.value)==false)//执行到这里来了 改为if(isNaN(number.value)==false&&number.value!="")
{
version.value="<%=pageBean.getAnotheredition()%>"+"."+trim(number.value);
}
if(number.value==""){
version.valmue="<%=pageBean.getEdition()%>";
alert("<%=pageBean.getEdition()%>");
}
这句执行后, 下面的代码也会执行
if(isNaN(number.value)==false){
version.value="<%=pageBean.getAnotheredition()%>"+"."+trim(number.value);
}
这个判断为真, 所以到这句的时候 version.value = ="<%=pageBean.getAnotheredition()%>"+"."+trim(number.value);
你说的 pageBean.getAnotheredition() = "2.0.2" 也就是 version.value= "2.0.2" + ".";
所以为 2.0.2.这样改下试试
function createCode() {
var number = document.getElementById("number");
var version = document.getElementById("<%=pageBean.EDITION %>");
if(number.value==""){
version.valmue="<%=pageBean.getEdition()%>";
alert("<%=pageBean.getEdition()%>");
return; // 到这儿中止函数
} if(/[^\d]/.test(number.value)){ // 判断是否有非数字值
alert("请填写数字");
}else{ // 否则赋值
version.value="<%=pageBean.getAnotheredition()%>"+"."+trim(number.value);
}
}