请问怎样在表单提交后有错返回表单时保留那些正确的数据~~~ <a href="javascript:history.go(-1)">返回</a>试一试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果只想保留正确的数据,可以使用session,接收页面创建session数组保留所有提交来的值检测后只保留正确的(将错误的清空)。在数据输入页面可以设置input的初始值为session数组中对应的值。我一直都是这样做地 在表单提交时进行检查如下所示:<form name=form1 action='next.php' onsubmit=check()><input type =text name=text1 value=""><input type=submit name=submit1 value="提交"></form><script language=javascript>check(){if(document.form1.text1.value.length>50){alert("长度过长请重新填写");document.form1.text1.focuse();return false;}return true;}</srcipt>这样可以了 因为你用了session所以会出现这种情况,方法:ob_start();if(function_exists(session_cache_limiter)) { session_cache_limiter("private, must-revalidate"); }....session_start(); iwind大大,我想让他自动回表单页面,不用点击连接lhzyn大大,你的办法的确可以哦,就是工作量大了点Fibona大大,javascript我不大懂啊,那个document.form1.text1.focuse()啥意思啊胡一刀大大,也看不懂,我水平不行啊 lhzyn大大,可以把设置input的初始值为session数组中对应的值写一句出来吗?我理解不了这句话谢谢了 楼主的思路是否有问题啊?既然是错误的数据还返回去干什么呢?应该在提交前发现有错误就根本不允许客户端提交,要做到验证严密啊要返回到提交数据的前面一页可以使用<a href="javascript:history.go(-1)">相当于浏览器的后退按钮如果要判断代码,你要说出具体的要求比如:非空判断?只允许填写数字判断?只允许字母……可以提供参考 哦。。不好意思 楼主我没仔细看你的question... ;p你的要求也是可以的,用JS可以做document.form1.text1.focus();的意思是焦点返回到表单form1中的text1文本框(就是鼠标的焦点光标返回到那个输入框)变通一下,如果检测到错误数据,JS返回到text1的时候,同时将里面的值清空即可(value='')。我想你要的就是这个自动清空的效果。 这样来:<script language="JavaScript"><!--function checkform(){ if (adduser.password.value.length<3 || adduser.password.value.length>12) { alert("错误:密码长度必须位于3-12位之间!"); document.adduser.password.focus(); document.adduser.password.value=''; return false; }}//--></script><form action="save.php" method="post" name="adduser" onsubmit="return checkform()">姓名:<input name="username" type="text"><br>密码:<input name="password" type="text"><input type="submit" name="Submit" value="提交"></form>注意表单里没有对username判断,只判断password。如果password长度不在3-12之间,则提示出错,同时清除你输入的密码。而你输入的username仍然予以保留 :)不知道你满意了没 :p 我认为JS多此一举,个人不大喜欢JS的说.现在的想法是存放在Session的变量中,Cookie有长度限制不予采用问题是不知道Session能存多少,要是一篇几万字的文章,不知道能不能保得住.这样的话是Session和Cookie结合,应该也是有长度限制的,放在数据库的Session明显不能存放很多数据.具体的不是很清楚,都是理论阶段,没实践,上述观点可能有误. nullfox(风吹叶落花千片 人过雁门心已寒) 十分感谢我准备就用你的办法了有空我再自己试试session的办法,稍微麻烦一点各位回答我问题的大大,都谢谢了^^ 如何在CentOS系统下搭建自己的smtp系统 乱码问题... 请问我现在要一个时间格式 请教下……apache和php5好像都有个ntwdblib.dll,用哪个好啊? 60分(我能给的最高分)急求字符串截取代码,要求可预防乱码 怎样取得客户端将下载文件保存的路径?急!!谢谢! 请问如何关闭当前的html页 PHP怎么创建一文件 下载.url文件(快捷方式)问题 各位大神网站突然出现这种错误提示,请问是什么原因? 请问如何不让对方在IE的"显示源文件"中显示网址! 广泛征集意见,,,各位请进
检测后只保留正确的(将错误的清空)。在数据输入页面可以设置input的初始值为session数组中对应的值。我一直都是这样做地
<form name=form1 action='next.php' onsubmit=check()>
<input type =text name=text1 value="">
<input type=submit name=submit1 value="提交">
</form>
<script language=javascript>
check()
{
if(document.form1.text1.value.length>50)
{
alert("长度过长请重新填写");
document.form1.text1.focuse();
return false;
}
return true;
}
</srcipt>
这样可以了
if(function_exists(session_cache_limiter)) { session_cache_limiter("private, must-revalidate"); }....
session_start();
lhzyn大大,你的办法的确可以哦,就是工作量大了点
Fibona大大,javascript我不大懂啊,那个document.form1.text1.focuse()啥意思啊
胡一刀大大,也看不懂,我水平不行啊
我理解不了这句话
谢谢了
应该在提交前发现有错误就根本不允许客户端提交,要做到验证严密啊
要返回到提交数据的前面一页可以使用<a href="javascript:history.go(-1)">
相当于浏览器的后退按钮
如果要判断代码,你要说出具体的要求
比如:非空判断?只允许填写数字判断?只允许字母……
可以提供参考
你的要求也是可以的,用JS可以做
document.form1.text1.focus();的意思是焦点返回到表单form1中的text1文本框(就是鼠标的焦点光标返回到那个输入框)
变通一下,如果检测到错误数据,JS返回到text1的时候,同时将里面的值清空即可(value='')。
我想你要的就是这个自动清空的效果。
<script language="JavaScript">
<!--
function checkform(){
if (adduser.password.value.length<3 || adduser.password.value.length>12) {
alert("错误:密码长度必须位于3-12位之间!");
document.adduser.password.focus();
document.adduser.password.value='';
return false;
}}
//-->
</script>
<form action="save.php" method="post" name="adduser" onsubmit="return checkform()">
姓名:<input name="username" type="text"><br>
密码:<input name="password" type="text">
<input type="submit" name="Submit" value="提交">
</form>注意表单里没有对username判断,只判断password。如果password长度不在3-12之间,则提示出错,同时清除你输入的密码。而你输入的username仍然予以保留 :)
不知道你满意了没 :p
现在的想法是存放在Session的变量中,Cookie有长度限制不予采用
问题是不知道Session能存多少,要是一篇几万字的文章,不知道能不能保得住.这样的话是Session和Cookie结合,应该也是有长度限制的,放在数据库的Session明显不能存放很多数据.
具体的不是很清楚,都是理论阶段,没实践,上述观点可能有误.
十分感谢我准备就用你的办法了
有空我再自己试试session的办法,稍微麻烦一点
各位回答我问题的大大,都谢谢了^^