jsp表单提交问题:先进行JavaScript验证,再转向处理页面

feyyee 2009-07-13 08:15:15
在一个jsp页面中,有一个表单,还有一个JavaScript函数用来验证是否输入为空、超出范围等等。

<script language="javaScript">
function validate(f)
{
if( "".equals(f.a1.value) && f.a1.value == null )
{
//alert("文本框1无输入 ");
document.getElementById("tip").innerText = "文本框1无输入 ";
f.a1.focus();
return false;
}

if( "".equals(f.a2.value) && f.a2.value == null )
{
document.getElementById("tip").innerText = "文本框2无输入 ";
f.a2.focus();
return false;
}

if( !(/^-?\d+$/.test(f.a1.value)) )
{
document.getElementById("tip").innerText = "文本框1请不要输入非数字 " ;
f.a1.focus();
return false;
}

if( !(/^-?\d+$/.test(f.a2.value)))
{
document.getElementById("tip").innerText = "文本框2请不要输入非数字 " ;

f.a2.focus();
return false;
}

if( Ingeter.parstInt(f.a1.value))>65535 )
{
document.getElementById("tip").innerText = "文本框1请不要超出范围 " ;
f.a1.focus();
return false;
}

if( Ingeter.parstInt(f.a2.value))>65535 )
{
document.getElementById("tip").innerText = "文本框2请不要超出范围 " ;
f.a2.focus();
return false;
}

else
{
return true;
}
}

</script>



<form method="post" target="_self" name="form1" onclick="if(validate(form1)) window.open("main.jsp");">
<input name="a1" type="text" size="10" />
<input name="a2" type="text" size="10" />
<input type="submit" name="add" value="=" />
<label id="tip"></label>


我想首先进行JavaScript的验证,然后再转向main.jsp。可是总是报错,不知道我的方法正确否?请大家看看。
...全文
311 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyangyh 2009-07-13
  • 打赏
  • 举报
回复
呵,我也是学java的,但java跟js有很大的区别的
你一定要清楚哪些是java语法,哪些是js的语法
我看你的代码里,js里面有java的语法,有点乱哦
feyyee 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ouyangyh 的回复:]
晕,你把我的代码单独拷贝运行一下就知道了
注意,我的代码里已经有了 tip 这个层了
有没有看清
[/Quote]

哥们,试了你的代码,确实成功了。真的很感谢你!!
ouyangyh 2009-07-13
  • 打赏
  • 举报
回复
晕,你把我的代码单独拷贝运行一下就知道了
注意,我的代码里已经有了 tip 这个层了
有没有看清
feyyee 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ouyangyh 的回复:]
楼主,建议你看一下JS方面的书吧,你的这段代码,错误百出啊

HTML code
<script language="javaScript">
function validate(f)
{
if( f.a1.value=='')
{
//alert(f);
document.getElementById("tip").innerText = "文本框1无输入 ";
f.a1.focus();
return false;
}
if( f.a2.value == '' )
{
document.getElementById("tip").innerText = "文本框…
[/Quote]

兄弟,增加tip也不行
ouyangyh 2009-07-13
  • 打赏
  • 举报
回复
楼主,建议你看一下JS方面的书吧,你的这段代码,错误百出啊

<script language="javaScript">
function validate(f)
{
if( f.a1.value=='')
{
//alert(f);
document.getElementById("tip").innerText = "文本框1无输入 ";
f.a1.focus();
return false;
}
if( f.a2.value == '' )
{
document.getElementById("tip").innerText = "文本框2无输入 ";
f.a2.focus();
return false;
}
if( !(/^\d+$/.test(f.a1.value)) )
{
document.getElementById("tip").innerText = "文本框1请不要输入非数字 ";
f.a1.focus();
return false;
}

if( !(/^\d+$/.test(f.a2.value)))
{
document.getElementById("tip").innerText = "文本框2请不要输入非数字 ";

f.a2.focus();
return false;
}

if(parseInt(f.a1.value)>65535 )
{
document.getElementById("tip").innerText = "文本框1请不要超出范围 ";
f.a1.focus();
return false;
}
if(parseInt(f.a2.value)>65535 )
{
document.getElementById("tip").innerText = "文本框2请不要超出范围 ";
f.a2.focus();
return false;
}

else
{
return true;
}

}

</script>
<form method="post" target="_self" name="form1" action='main.jsp' onsubmit="return validate(form1)">
<input name="a1" type="text" size="10" />
<input name="a2" type="text" size="10" />
<input type="submit" name="add" value="=" />
</form>
<div id="tip"></div>
feyyee 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ddyouyue 的回复:]

<script language="javaScript">
function validate(f)
{
if(f.a1.value =="" )
{
//alert("文本框1无输入 ");
document.getElementById("tip").innerText = "文本框1无输入 ";
f.a1.focus();
return false;
}

if(f.a2.value =="")
{
document.getElementById("tip").innerText = "文本框2无输入 ";
f.a2.focus(); …
[/Quote]

兄弟,这样也不行啊
feyyee 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 b47248054 的回复:]
js里面把

if( Ingeter.parstInt(f.a2.value))>65535 )
{
document.getElementById("tip").innerText = "文本框2请不要超出范围 " ;
f.a2.focus();
return false;
}

else
{
return true;
}
改成
return true;

html页面这样处理

HTML code
<form action="main.jsp" method="post" target="_self" name="form1" onsubmit="r…
[/Quote]

js的最后有
else
{
return true;
}

啊!
t348061633 2009-07-13
  • 打赏
  • 举报
回复
路过。。顶下!
b47248054 2009-07-13
  • 打赏
  • 举报
回复
js里面把

if( Ingeter.parstInt(f.a2.value))>65535 )
{
document.getElementById("tip").innerText = "文本框2请不要超出范围 " ;
f.a2.focus();
return false;
}

else
{
return true;
}

改成
return true;

html页面这样处理

<form action="main.jsp" method="post" target="_self" name="form1" onsubmit="return validate(this);">
<submit />
</form>
ddyouyue 2009-07-13
  • 打赏
  • 举报
回复

<script language="javaScript">
function validate(f)
{
if(f.a1.value =="" )
{
//alert("文本框1无输入 ");
document.getElementById("tip").innerText = "文本框1无输入 ";
f.a1.focus();
return false;
}

if(f.a2.value =="")
{
document.getElementById("tip").innerText = "文本框2无输入 ";
f.a2.focus();
return false;
}

if( !(/^-?\d+$/.test(f.a1.value)) )
{
document.getElementById("tip").innerText = "文本框1请不要输入非数字 " ;
f.a1.focus();
return false;
}

if( !(/^-?\d+$/.test(f.a2.value)))
{
document.getElementById("tip").innerText = "文本框2请不要输入非数字 " ;

f.a2.focus();
return false;
}

if( Ingeter.parstInt(f.a1.value))>65535 )
{
document.getElementById("tip").innerText = "文本框1请不要超出范围 " ;
f.a1.focus();
return false;
}

if( Ingeter.parstInt(f.a2.value))>65535 )
{
document.getElementById("tip").innerText = "文本框2请不要超出范围 " ;
f.a2.focus();
return false;
}

else
{
return true;
}
}

</script>

81,092

社区成员

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

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