javascript-问题又来了,分别赋值了9个之后为什么跑起来只有一个能运算?不清楚问题出在哪里了

问题描述

问题又来了,分别赋值了9个之后为什么跑起来只有一个能运算?不清楚问题出在哪里了

 <html>
<head>
<script type='text/javascript'>
onload=compute;
function compute(){
    a=parseFloat(document.getElementById("txt1").value);
    b=parseFloat(document.getElementById("txt2").value);
    if(a!="" && b!=""){
        document.getElementById("txt3").value=(a/b).toFixed(2);
    }
}
</script>

<script type='text/javascript'>
onload=compute;
function compute(){
    c=parseFloat(document.getElementById("txt4").value);
    d=parseFloat(document.getElementById("txt5").value);
    if(c!="" && d!=""){
        document.getElementById("txt6").value=(c/d).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    e=parseFloat(document.getElementById("txt7").value);
    f=parseFloat(document.getElementById("txt8").value);
    if(e!="" && f!=""){
        document.getElementById("txt9").value=(e/f).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    g=parseFloat(document.getElementById("txt10").value);
    h=parseFloat(document.getElementById("txt11").value);
    if(g!="" && h!=""){
        document.getElementById("txt12").value=(g/h).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    i=parseFloat(document.getElementById("txt13").value);
    j=parseFloat(document.getElementById("txt14").value);
    if(a!="" && b!=""){
        document.getElementById("txt15").value=(i/j).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    k=parseFloat(document.getElementById("txt16").value);
    l=parseFloat(document.getElementById("txt17").value);
    if(k!="" && l!=""){
        document.getElementById("txt18").value=(k/l).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    m=parseFloat(document.getElementById("txt19").value);
    n=parseFloat(document.getElementById("txt20").value);
    if(m!="" && n!=""){
        document.getElementById("txt21").value=(m/n).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    o=parseFloat(document.getElementById("txt22").value);
    p=parseFloat(document.getElementById("txt23").value);
    if(o!="" && p!=""){
        document.getElementById("txt24").value=(o/p).toFixed(2);
    }
}
</script>
<script type='text/javascript'>
onload=compute;
function compute(){
    q=parseFloat(document.getElementById("txt25").value);
    r=parseFloat(document.getElementById("txt26").value);
    if(q!="" && r!=""){
        document.getElementById("txt27").value=(q/r).toFixed(2);
    }
}
</script>
</head>
<body>
<input  id="txt1"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt2"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt3" size="1" readonly>
<br>

<input  id="txt4"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt5"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt6" size="1" readonly>
<br>

<input  id="txt7"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt8"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt9" size="1" readonly>
<br>

<input  id="txt10"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt11"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt12" size="1" readonly>
<br>

<input  id="txt13"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt14"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt15" size="1" readonly>
<br>

<input  id="txt16"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt17"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt18" size="1" readonly>
<br>

<input  id="txt19"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt20"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt21" size="1" readonly>
<br>

<input  id="txt22"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt23"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt24" size="1" readonly>
<br>

<input  id="txt25"  type="hidden" value="123123" size="1" readonly oninput="compute()">
<input  id="txt26"  type="hidden" value="123123" size="1"readonly oninput="compute()">
<input id="txt27" size="1" readonly>

</body>
</html>

解决方案

同名函数会被覆盖,而且xxxx=赋值事件也会覆盖,写一个函数就行了,传入参数

 <html>
<head>
    <script type='text/javascript'>
        window.onload = function () {
            for (var i = 1; i <= 27; i += 3) compute('txt' + i, 'txt' + (i + 1), 'txt' + (i + 2))
        };
        function compute(a,b,c) {
            q = parseFloat(document.getElementById(a).value);
            r = parseFloat(document.getElementById(b).value);
            if (q && r) {
                document.getElementById(c).value = (q / r).toFixed(2);
            }
        }
    </script>
</head>
<body>
    <input id="txt1" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt2" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt3" size="1" readonly>
    <br>

    <input id="txt4" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt5" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt6" size="1" readonly>
    <br>

    <input id="txt7" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt8" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt9" size="1" readonly>
    <br>

    <input id="txt10" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt11" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt12" size="1" readonly>
    <br>

    <input id="txt13" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt14" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt15" size="1" readonly>
    <br>

    <input id="txt16" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt17" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt18" size="1" readonly>
    <br>

    <input id="txt19" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt20" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt21" size="1" readonly>
    <br>

    <input id="txt22" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt23" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt24" size="1" readonly>
    <br>

    <input id="txt25" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt26" type="hidden" value="123123" size="1" readonly oninput="compute()">
    <input id="txt27" size="1" readonly>

</body>
</html>
时间: 2024-09-03 20:59:32

javascript-问题又来了,分别赋值了9个之后为什么跑起来只有一个能运算?不清楚问题出在哪里了的相关文章

分析 JavaScript 中令人困惑的变量赋值_javascript技巧

Javascript是一门弱类型的语言,声明变量不需要声明其类型,var x 就可以等于任何类型的值. 比如: var str = "string...."; var arr = ["this","is","array"]; var obj = {name:"caizhongqi",age:26,sex:"male"}; 这些都是正确的,这似乎非常简单方便,但是这种方便也会带来一些令人难

javascript fckeditor编辑器取值与赋值实现代码_网页编辑器

获取编辑器中HTML内容 复制代码 代码如下: function getEditorHTMLContents(EditorName) { var oEditor = FCKeditorAPI.GetInstance(EditorName); return(oEditor.GetXHTML(true)); } 获取编辑器中文字内容 复制代码 代码如下: function getEditorTextContents(EditorName) { var oEditor = FCKeditorAPI.G

用Responses.Write(&amp;amp;quot;&amp;amp;lt;script language=&amp;amp;#x27;javascript&amp;amp;#x27;&amp;amp;gt;alert(...);&amp;amp;lt;/script&amp;amp;gt;&amp;amp;quot;) 之后再次访问此页面还会弹出对话框??

问题描述 如题,我估计是已经把js写入客户端了,所以再次访问的时候就又弹出了.有没有人知道怎么防止这种情况发生啊???谢谢大家了!!! 解决方案 解决方案二:Page.ClientScript.RegisterStartupScript解决方案三:if(!Page.IsPostBack){Responses.Write("<scriptlanguage='javascript'>alert(...);</script>")}

怎么使用JavaScript给textarea重复赋值,但是每次的赋值不覆盖上次的值

问题描述 怎么使用JavaScript给textarea重复赋值,但是每次的赋值不覆盖上次的值????? 解决方案 解决方案二:先取出上一次的值,然后拼上自己新加的,再一起赋值回去.解决方案三:可以保存到一个数组里或一个变量里

谈谈javascript语法里一些难点问题(一)

1)    引子 前不久我建立的技术群里一位MM问了一个这样的问题,她贴出的代码如下所示: var a = 1; function hehe() {          window.alert(a);          var a = 2;          window.alert(a); } hehe(); 执行结果如下所示: 第一个alert:   第二个alert:   这是一个令人诧异的结果,为什么第一个弹出框显示的是undefined,而不是1呢?这种疑惑的原理我描述如下: 一个页面

Javascript实例教程(20) 使用HoTMetal(5)

javascript|教程 HoTMetal中使用javascript 5.怎样编写脚本来检查上次修改的日期 在本节教程中你将可以学到怎样编写一个宏来检查是否有任何的程序已经利用HoTMetaL中修改过一个文件.这个宏包括了以下几个检查的更新特性:On_Document_Open_Complete.On_Document_Activate和 On_Application_Activate.在前面的教程中,这些宏的名字已经被预定义了,所以这里不能对它们进行修改.这些名字指定了事件来触发宏.这个ev

Javascript实例教程(19) 使用HoTMetal(5)

javascript|教程 HoTMetal中使用Javascript 5.怎样编写脚本来检查上次修改的日期 在本节教程中你将可以学到怎样编写一个宏来检查是否有任何的程序已经利用HoTMetaL中修改过一个文件.这个宏包括了以下几个检查的更新特性:On_Document_Open_Complete.On_Document_Activate和 On_Application_Activate.在前面的教程中,这些宏的名字已经被预定义了,所以这里不能对它们进行修改.这些名字指定了事件来触发宏.这个ev

面向对象的JavaScript编程及其 Scope 处理

本文首先对 JavaScript 的机制进行讲解,并结合当前流行的开源 JavaScript 框架讲解如何在 JavaScript 中实现面向对象和继承机制:之后本文将对面向对象 JavaScript 编程中容易引起误解和 Scope 的几个问题做详细阐述:最后针对面向对象的 JavaScript 编程中的 Scope 问题给出几点建议. 面向对象和模拟继承 JavaScript 是一种弱类型解释运行的脚本语言,就语言本身来讲它不是一门面向对象语言.但是我们可以利用一些语言的特性来模拟面向对象编

JavaScript的10种跨域共享的方法总结

JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.跨域就是因为JavaScript同源策略的限制.在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义.同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法.下面让我们共同学习一下跨越共享的方法. 同源策略 在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全