动态生成的文本框在“后退”之后消失了,如何解决

MMX1027 2003-12-01 08:27:51
我用如下方法在页面动态“画”出用户指定个数的文本框。这些文本框在当前页面显示正常,但进入另一页并后退回该页时,全部不见了。这是为何?
<script language="javascript">
function setid()
{ strStudentName='<br>';
var MaxStudentID;
var SutdentCount = window.form1.StudentCount.value;
if(!SutdentCount)
window.form1.StudentCount.value=1;
if(SutdentCount<=0 || SutdentCount>100 )
{alert("新增学生个数为1-30个!\n请重新填写!");return false;}
for(i=1;i<=SutdentCount;i++)
{
strStudentName+=i+'.<input type="text" name="StudentName" class="otherinput"><br>';
}
//学生个数为n,就显示n个文件框
window.tdStdName.innerHTML=strStudentName+'<br>';
}
</script>
<form name="form1" action="save1.asp">
<table><tr><td><input name="StudentCount" type="text" onChange="setid();"></td></tr>
<td id="tdStdName">1.<input type="text" name="StudentName" class=" otherinput"></td></tr></table>
<input type="submit" name="Submit" value="确定">
</form>

为确这些动态生成的文本框不全为空,我在save1.asp中判断这些文本框的值,如果全为空,则要求用户后退返回重填。当“后退”后,这些文本框全部不见了。
如何解决这个问题?
或者如何在当前页确保这些文本框不全为空?
高手解答,百分感谢!
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MMX1027 2003-12-01
  • 打赏
  • 举报
回复
问题解决,就如 ZHH309(张)所说的方法。实现如下:
//检查表单的学生姓名是否全为空
function checkform1()
{
var f = document.forms["form1"];
var TxSnameCount,TrueSnameCount;
TxSnameCount=0;TrueSnameCount=0;
for (i=0;i<f.elements.length;i++)
if (f.elements[i].name.substr(0,11)=="StudentName")
{ TxSnameCount++;
if(f.elements[i].value == "") TrueSnameCount++;
}
if (TxSnameCount==TrueSnameCount)
{
alert("学生姓名全为空,请返回填写!")
return false;
}

return true;

}
bencalie 2003-12-01
  • 打赏
  • 举报
回复
既然你明知是动态生成的,那要又保留,这本就是两难

要么如ZHH309所说,表单提交前在客户端就验证好
MMX1027 2003-12-01
  • 打赏
  • 举报
回复
可是我的这个页是放在框架里的,在新窗口处理似乎不太好吧。
还有没有其它的方法?
HAOSKYZHANG 2003-12-01
  • 打赏
  • 举报
回复
后退的话,这些文本框确实是不见了,我也碰上过这样的问题。解决的方法是在当前页判断输入是否为空。
第一,建立文本框的时候,用特定的名称(字符+数字)。如下
<input type="text" name="StudentName"+i class="otherinput">,i是循环变量。
第二、提交前,检验这些文本框。
var element = document.forms[0].elements["StudentName"+i] 引用到相应的文本框对象。
然后进行判断。if(element.value.length==0)表示没有输入。

我经常使用这样的方法。good luck


bencalie 2003-12-01
  • 打赏
  • 举报
回复
提交到新窗口,如果处理成功则关闭表单页面,如果不成功则原来页面还存在

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧