黑马程序员技术交流社区

标题: 关于javascript的验证函数调用? [打印本页]

作者: 抽烟男孩    时间: 2013-5-5 10:26
标题: 关于javascript的验证函数调用?
本帖最后由 抽烟男孩 于 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都有那些属性和方法?

作者: 李志敏    时间: 2013-5-5 22:03
楼主 你这错误地方太多了吧
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");
作者: 抽烟男孩    时间: 2013-5-6 15:44
本帖最后由 抽烟男孩 于 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-7 09:41
抽烟男孩 发表于 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;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2