表单提交后的验证问题,请大神出马,帮看看

renzailvtu20120415 2016-11-16 01:16:20
点击提交后,验证的功能也是正常的
但是验证后,点确定按钮没回到表单的页面,而是一个空的网页
那里出问题了呢?请大神帮忙看下
上代码:
<script type="text/javascript">
function beforeSubmit(form) {
if (form.userName.value == '') {
alert('用户名不能为空!');
form.userName.focus();
return false;
}
if (form.pwd.value == '') {
alert('密码不能为空!');
form.pwd.focus();
return false;
}
if (form.pwd.value.length < 8) {
alert('密码至少为8位,请重新输入!');
form.pwd.focus();
return false;
}
if (form.pwd.value != form.rpwd.value) {
alert('你两次输入的密码不一致,请重新输入!');
form.rpwd.focus();
return false;
}
return true;
}

/*注册表单
function submitRegisterForm() {
document.forms[0].action = "UserTestAction.do?method=save";
document.forms[0].submit();
}
*/

/* function toSave() {

form1.submit();

} */
</script>
</head>
<body>
用户管理:
<!--
form表信息
-->
<form id="form" name="registForm"
action="${pageContext.request.contextPath}/ToSave" onsubmit="beforeSubmit(this)"
method="post">

后台servlet代码:
public class ToSave extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public ToSave() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
req.getRequestDispatcher("/qb_userSave.jsp").forward(req, resp);
}

...全文
439 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21934217 2016-11-17
  • 打赏
  • 举报
回复
可以这样,onclick方法,然后$.get提交
qq_21934217 2016-11-17
  • 打赏
  • 举报
回复
666 你提交方法是post 为嘛要在get里面操作
浮云若水 2016-11-17
  • 打赏
  • 举报
回复
引用 14 楼 qq_35997882 的回复:
[quote=引用 9 楼 a276202031 的回复:] 首先给你纠正一个问题,你的if if 干嘛不用 if -else if -else 你这样 if if 从头判断到尾,有一个满足条件后面的就没必要再去判断;代码严谨点。 onsubmit=“return beforeSubmit(this)” 是这样写的 不然你的表单校验就没用 依然会进入 controller中,前面得加return,出现空白页,有可能就是说你controller中跳转的页面某个位置有错误 ,js中报错,形成阻塞,后面的html就无法渲染了 自己检查下
我想问下 多个if 和 if_else if_ else 的区别[/quote] 多个if 就比如说 豆子里面掉了颗石子 你明明把石子挑出来了 但你还是把这些豆子 一粒一粒的对比一遍 是不是石子 是不是觉得多余? 而 if else 的画 当你把这可石子挑出来之后 后面就啥也不干了 ,也许说的不怎么形象大概就这么回事吧;else 有阻碍作用 而多个if 是没阻碍作用 就和 & 和 && 在逻辑判断中差不多
落羽希 2016-11-17
  • 打赏
  • 举报
回复
引用 9 楼 a276202031 的回复:
首先给你纠正一个问题,你的if if 干嘛不用 if -else if -else 你这样 if if 从头判断到尾,有一个满足条件后面的就没必要再去判断;代码严谨点。 onsubmit=“return beforeSubmit(this)” 是这样写的 不然你的表单校验就没用 依然会进入 controller中,前面得加return,出现空白页,有可能就是说你controller中跳转的页面某个位置有错误 ,js中报错,形成阻塞,后面的html就无法渲染了 自己检查下
我想问下 多个if 和 if_else if_ else 的区别
认真的coder 2016-11-16
  • 打赏
  • 举报
回复
10楼的方法更好。
隔壁班小明 2016-11-16
  • 打赏
  • 举报
回复
可以把onsubmit换成提交用onclick监听按钮,然后在onclick里做那些验证,符合条件再提交表单
浮云若水 2016-11-16
  • 打赏
  • 举报
回复
首先给你纠正一个问题,你的if if 干嘛不用 if -else if -else 你这样 if if 从头判断到尾,有一个满足条件后面的就没必要再去判断;代码严谨点。 onsubmit=“return beforeSubmit(this)” 是这样写的 不然你的表单校验就没用 依然会进入 controller中,前面得加return,出现空白页,有可能就是说你controller中跳转的页面某个位置有错误 ,js中报错,形成阻塞,后面的html就无法渲染了 自己检查下
renzailvtu20120415 2016-11-16
  • 打赏
  • 举报
回复
引用 5 楼 qq_36698818 的回复:
onsubmit="return 函数名"
嗯嗯。加上果然就不跳转到空页了。 我又突然想到确认后,应该做点什么,清空输入框什么的 该怎么写呢? 我百度了许多,终于发现这样做可以。
if (form.pwd.value.length < 8) {
			alert('密码至少为8位,请重新输入!');
			//清空密码输入框
			document.getElementById("form").pwd.value="";
		
			form.pwd.focus();
			
			return false;
		}
		if (form.pwd.value != form.rpwd.value) {
			alert('你两次输入的密码不一致,请重新输入!');
			//清空所有密码输入框
			document.getElementById("form").pwd.value="";
			document.getElementById("form").rpwd.value="";
			form.rpwd.focus();
			return false;
		}
		return true;
Name_荔枝 2016-11-16
  • 打赏
  • 举报
回复
5楼正解 ....
renzailvtu20120415 2016-11-16
  • 打赏
  • 举报
回复
引用 3 楼 qw0907 的回复:
加上 if 改成 else if 试试!!
验证功能没问题。
化疼·马 2016-11-16
  • 打赏
  • 举报
回复
onsubmit="return 函数名"
化疼·马 2016-11-16
  • 打赏
  • 举报
回复
form 里的事件应该是onsubmit="return beforeSubmit()"
快跑蜗牛哥 2016-11-16
  • 打赏
  • 举报
回复
加上 if 改成 else if 试试!!
化疼·马 2016-11-16
  • 打赏
  • 举报
回复
如果是post传值应该在dopost方法里面写代码
renzailvtu20120415 2016-11-16
  • 打赏
  • 举报
回复
前台还是后台问题,大牛给看看?具体那里问题

81,122

社区成员

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

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