编程论坛's Archiver

guxiongxxx 发表于 2008-4-30 15:45

计算

<html>
        <head>
                <title>        test</title>
                <script type=text/javascript>
                <!-- Hide from other browsers
                …… function calculator(form,callingField){
                      if(callingField=="result"){
                            if(form.square.checked){
                                    form.enter.value=Math.sqrt(form.result.value);
                           } else{
                                    form.enter.value=form.result.value/2;
                                   }
                           } else{
                             if(form.square.checked){
                                     form.result.value=form.enter.value*form.enter.value;
                             }else{
                                     form.result.value=form.enter.value*2;
                             }
                          }
                  }
                  //stop hiding from other browers-->
                </script> ……
        </head>
        <body>
                <form Method=POST>
                        Value:<input type=text name=enter value=0 onChange="calculator(this.form,this.name);">
                        <br>
                        Action:(default double)
                        <input type=checkbox name=square onClick="calculator(this.form,this.name);">
                          Square
                        <br> Result:
                        <input type=text name=result value=0 onChange="calculator(this.form,this.name);">
                </form>
  </body>
</html>
大家好,我是一名javascript的初学者,我想请教一下,上面的函数,第一个if(callingField=="result"){
                            if(form.square.checked){
                                    form.enter.value=Math.sqrt(form.result.value);
                           } else{
                                    form.enter.value=form.result.value/2;
                                   }
                           } else{
这个不知道有什么用,我的功能只要实现按下复选框,就计算平方,否则是二倍!我删去这几行,程序还是可以到得到结果,可是我不知道这有什么用???
希望哪位大师能帮我解决,谢谢

heyufu 发表于 2008-4-30 16:19

这样就OK了
<html>
    <head>
        <title>    test</title>
        <script type=text/javascript>
        <!-- Hide from other browsers
           function calculator(callingField){
              if(callingField=="result"){
                if(form1.square.checked){
                    form1.enter.value=Math.sqrt(form1.result.value);
               } else{
                    form1.enter.value=form1.result.value/2;
                   }
               } else{
                 if(form1.square.checked){
                     form1.result.value=form1.enter.value*form1.enter.value;
                 }else{
                     form1.result.value=form1.enter.value*2;
                 }
              }
          }
          //stop hiding from other browers-->
        </script> ……
    </head>
    <body>
        <form name="form1" Method=POST>
            Value:<input type=text name=enter value=0 onChange="calculator(this.form,this.name);">
            <br>
            Action:(default double)
            <input type=checkbox name=square onClick="calculator(this.name);">
              Square
            <br> Result:
            <input type=text name=result value=0 onChange="calculator(this.form,this.name);">
        </form>
  </body>
</html>

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.