A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 抽烟男孩 中级黑马   /  2013-5-5 10:26  /  1325 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 抽烟男孩 于 2013-5-5 23:02 编辑

我写了一个JSP页面希望能够在验证器表单数据但是无效?

  1. <head>
  2. <script type="text/javascript">
  3. founction validate()
  4. {
  5. var userName = document.form[0].score.value;
  6. if(userName.length<4 || username.length>2){
  7. alert("rigth");
  8. }
  9. else{
  10. alert("error");
  11. }
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <form action="MyJsp.jsp" method="post">
  17. <input type="text" name="score" /><button onClick="validate()">提交</button>
  18. </form>

  19. </body>
复制代码
顺便想了解一下标量声明var都有那些属性和方法?

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 楼下哥们很犀利

查看全部评分

3 个回复

倒序浏览
楼主 你这错误地方太多了吧
1.founction validate()-->function validate()
2.上面声明了userName 下面却写username
3.你这应该是长度大于2小于四的是正确的吧 那应该是
   if (userName.length<4 && userName.length>2)
4.var userName = document.form[0].score.value; 这个貌似不可以这么用的 可能是我没见过 不太了解
  一般是var userName = document.getElementsByName("score");
5.var 就相当于 java中的int String boolean 就是可以声明所有数据类型
    比如 var a=3;
    字符串:var str="aaaa";
    声明boolean型的变量:var nnnn = false;  
   声明数组:var types =new Array("jpg","png","gif");

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 抽烟男孩 于 2013-5-6 16:00 编辑

大神!改后不管输入什么都是第一次输入的结果!!!求解
  1. <html>
  2.   <head>
  3.     <base href="<%=basePath%>">
  4.    
  5.     <title>My JSP 'MyJsp.jsp' starting page</title>
  6.    
  7.         <meta http-equiv="pragma" content="no-cache">
  8.         <meta http-equiv="cache-control" content="no-cache">
  9.         <meta http-equiv="expires" content="0">   
  10.         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  11.         <meta http-equiv="description" content="This is my page">
  12.         <!--
  13.         <link rel="stylesheet" type="text/css" href="styles.css">
  14.         -->
  15.         <script type="text/javascript">
  16.                 function validate()
  17.                 {
  18.                 var userName = document.getElementsByName("score");
  19.                 if(userName.length<4 && userName.length>2){
  20.                 alert("rigth");
  21.                 }
  22.                 else{
  23.                 alert("error");
  24.                 }
  25.                 }
  26.                 </script>
  27.   </head>
  28.   
  29.   <body>
  30.     <form action="index.jsp" method="post">
  31.     <input type="text" name="score" /><button  onclick="validate()">提交</button>
  32.     </form>

  33.   </body>
  34. </html>
复制代码
回复 使用道具 举报
抽烟男孩 发表于 2013-5-6 15:44
大神!改后不管输入什么都是第一次输入的结果!!!求解

哦 不好意思 失误了  
获取表单内容常用的有两种方法 根据id 或者根据name
根据id的时候 用getElementById() 返回对拥有指定 id 的第一个对象的引用。
根据name的时候 getElementsByName() 返回带有指定名称的对象集合。 这里返回的是一个集合 如果要取得值正确的应该是var userName = document.getElementsByName("score")[0].value; 就是取你这里第一个name叫“score”的值,这样比较麻烦
你也可以把input里面加上id 名字跟name的名字可以一样也可以不一样<input type="text" name="score" id="score"/>
这样可以根据id取值 var userName = document.getElementById("score").value;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马