javascript小技巧

来源:互联网 发布:电力大数据 阿里巴巴 编辑:程序博客网 时间:2024/06/05 20:11
通常,我们在程序设计时,一般都会用到提交表单动作,而最好是让用户使用时,就在客户端进行判断,查看用户提交的数据是否合理,说到这里,我们通常会想到,在javascript里面编写判断语句,没错,这是一个很好的方法,通常我们可以通过document.getElementById取得表单里对象的值,还有一种方法就是通过document.form取值,但如果一个form表单没有表单名,我们通过document.form怎么取值?

    让我们先来看看这个jsp中的代码:
  <%@ page language="java" pageEncoding="GB2312"%>
  <%@ taglib http://struts.apache.org/tags-bean"; target=_blank>http://struts.apache.org/tags-bean" prefix="bean"%>
  <%@ taglib http://struts.apache.org/tags-html"; target=_blank>http://struts.apache.org/tags-html" prefix="html"%>
  <html>
     <head>
        <title>JSP for AddForm form</title>
     </head>
     <body>
        <html:form action="/add">
          num1 : <html:text property="num1" /><html:errors property="num1"/><br/>
          num2 : <html:text property="num2" /><html:errors property="num2"/><br/>
          <html:submit value=" 加 " onclick=" return check('add')" />
          <html:submit value=" 减 " onclick="return check('subtract')" />
          <html:submit value=" 乘 " onclick="return check('multiply')" />
          <html:submit value=" 除 " onclick="return check1('divide')" />
        </html:form>
    </body>
</html>
    通过上面的代码,我们不难看出,里面的form没有表单名,怎么办?这时候,我们应该想到,假设一个页面有多个form的话,通过form的
序号也可以找到相对应的form,form,这里的i是第几个表单,假设我们要找第5个表单,那么就可以写成form[4]。
  在javascript中的代码就可以写成:
<script type="text/javascript" language="javascript">
  function check(operate)
  {
   var num1 = document.getElementById("num1");//通过对象名直接取值
   var num2 = document.forms[0].num2;//通过form找到对应的对象并取值

   if(num1.value==""||num1.value==null)
  {
   alert("请输入第一个操作数");
   num1.focus();
   return false;

  }
  if(num2.value==""||num2.value==null)
  {
   alert("请输入第二个操作数");
   num2.focus();
   return false;
  }

  for(var i=0;i<num1.value.length;i++)
  {

   var n1 = num1.value;
   var s1 = n1.substring(i,i+1);
   var n2 = num2.value;
   var s2 = n2.substring(i,i+1);
   if(!(s1>=0&&s1<10))
   {
    alert("第一个操作数不合法,请重新输入!");
    num1.value="";
    num1.focus();
    return false;
   }
   if(!(s2>=0&&s2<10))
   {
    alert("第二个操作数不合法,请重新输入!");
    num2.value="";
    num2.focus();
    return false;
   }

   else
   {
    document.forms[0].action = operate+'.do';
     document.forms[0].submit();
     return true;
   }

  }
   }
</script>
原创粉丝点击