当前页面: 开发资料首页 → JSP 专题 → 一个onsubmit的问题
一个onsubmit的问题
摘要: 一个onsubmit的问题
1 关于onsubmit我是这么理解的:如果名字为空,return false,那么表单不提交,
可是为什么我这个怎么都会提交啊?
2 还有就是怎么改才可 把<script></script>去掉呢?
<head>
JSP Page </head>
<body>
<script>
function checkstring()
{
if (form1.name.value == "")
{
alert("用户名不能为空!");
return false;
}
}
</script>
<form name="form1" method="post" action="a.jsp">
来访姓名: <input type="text" name="name"value="">
<input name="提交" type="submit" value="ok" onsubmit = "checkstring(this)"
</form>
</body>
提交按钮要接收返回值,修改如下:
<input name="提交" type="submit" value="ok" onsubmit = "javascript:return checkstring(this);">
<script>
function checkstring()
{
if (form1.name.value == "")
{
alert("用户名不能为空!");
return false;
}
return true;//JS这里加上返回值
}
</script>
谢谢lip009(深蓝忧郁)为什么弄成这样不行呢?
<head>
JSP Page </head>
<body>
<script>
function checkstring()
{
if (form1.name.value == "")
{
alert("用户名不能为空!");
return false;
}
return true;//JS这里加上返回值
}
</script>
<form name="form1" method="post" action="a.jsp">
来访姓名: <input type="text" name="name"value="">
<input name="提交" type="submit" value="ok" onsubmit = "javascript:return checkstring(this);">
</form>
</body>
<input name="提交" type="submit" value="ok" onsubmit = "javascript:return checkstring();">
里边this去掉
还是没有判断直接进下个页面?好奇怪
你的alert("用户名不能为空!");这个错误信息出来了吗?
没有出拉啊,就直接打开下个页面了
不用带this,你的函数都没有参数,为什么调用的时候要加个参数???
这样可以达到你要的效果,不知道是不是你想要的。
<head>
JSP Page </head>
<body>
<script>
function checkstring()
{
if (form1.name.value == "")
{
alert("用户名不能为空!");
return false;
}
}
</script>
<form name="form1" method="post" action="a.jsp" onsubmit = "return checkstring()">
来访姓名: <input type="text" name="name" value="">
<input name="提交" type="submit" value="ok" >
</form>
</body>
checkstring()谢谢了,原来onsubmit = "return checkstring()">这个是写在form里的,button的是写在input里的,多谢各位了
还有个问题就是<script></script>为什么去掉了就不对了呢?这个段一定要写成<script></script>的吗?如果不想写这个怎么改呢?
一定要写呀
这是javascript标签,用到javascript就要写
如果不想在页面中出现大量的js,那么可以把js写到一个文件里,命名为***.js
然后在页面中导入进来<script language="javascript" type="text/javascript" src="***.js"></script>
写到Form的onsubmit事件里去才可以啊