如何在一个文本区域中拥有 3 个不同值的总和

How to have the sum of 3 different value in one text area

本文关键字:拥有 区域 文本 一个      更新时间:2023-09-26

我为每个收音机应用了值,对于我的每个表单。关键是,我需要将它们的总和放在一起。我想我可以简单地设置一个简单的函数,在我的函数中添加每个表单的每个文本区域的值,以便显示总数,但似乎它不起作用。我只是觉得我错过了什么。这是我的代码,谢谢!:

爪哇岛:

(function(){
var oForm = document.forms;
oForm[0].querySelector("input[type='radio']").addEventListener("click",sommButton,false);
}) ()
function sommeButton () {
var aSomme1 = document.forms[0].tEx1;
var aSomme2 = document.forms[1].tEx2;
var aSomme3 = document.forms[2].tEx3;
var total = document.forms[3].tEx4;
var somme1 = aSomme1[5].value;
var somme2 = aSomme2[5].value;
var somme3 = aSomme3[5].value;
total.value = parseInt(somme1) + parseInt(somme2) + parseInt(somme3) ;
}

以防万一,这是我的 html

<html>
<head>
<meta charset="UTF-8">
<title>Exercise 5</title>
<link rel="stylesheet" href="css/form.css" />
</head>
<body>
                <section>
            <form name="frm1">
                <label>
                    <input type="radio" value="10" name="r1"
                        onClick="tEx1.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="15" name="r1"
                        onClick="tEx1.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="20" name="r1"
                        onClick="tEx1.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="25" name="r1"
                        onClick="tEx1.value = this.value"/>
                </label>
                <label>
                    <input type="radio" 
                    <input type="radio" value="30" name="r1"
                        onClick="tEx1.value = this.value"/>
                </label>
                <label>
                    <input type="text" name="tEx1" />
                </label>
            </form>
        </section>
        <section>
            <form name="frm2">
                <label>
                    <input type="radio" value="10" name="r2"
                        onClick="tEx2.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="15" name="r2"
                        onClick="tEx2.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="20" name="r2"
                        onClick="tEx2.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="25" name="r2"
                        onClick="tEx2.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="30" name="r2"
                        onClick="tEx2.value = this.value"/>
                </label>
                <label>
                    <input type="text" name="tEx2" />
                </label>
            </form>
        </section>
        <section>
            <form name="frm3">
                <label>
                    <input type="radio" value="10" name="r3"
                        onClick="tEx3.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="15" name="r3"
                        onClick="tEx3.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="20" name="r3"
                        onClick="tEx3.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="25" name="r3"
                        onClick="tEx3.value = this.value"/>
                </label>
                <label>
                    <input type="radio" value="30" name="r3"
                        onClick="tEx3.value = this.value"/>
                </label>
                <label>
                    <input type="text" name="tEx3" />
                </label>
            </form>
        </section>
        <section>
                <label>
                    <input type="button" value="Somme" name="btn1">
                </label>
        </section>
        <section>
                <form name="frm4">
                <label>
                    <input type="text" name="tEx4" />
                </label>
                </form>
        </section>
</body>
<script src="js/exercise5.js"></script> 
</html>

您可以通过向输入按钮添加一个 onclick 属性来解决它,以便在单击按钮时调用函数:

<label>
    <input type="button" value="Somme" name="btn1" onclick="sommButton()">
</label>

同时将函数的名称从函数 sommeButton () { 修改为函数 sommButton () {

并修改获取值的代码:

var somme1 = ((aSomme1.value !='' )?aSomme1.value:'0');
var somme2 = ((aSomme2.value !='' )?aSomme2.value:'0');
var somme3 = ((aSomme3.value !='' )?aSomme3.value:'0');

在获取值时,我将其制作成单行 if 语句,当输入标签中没有值时返回 0。

我希望这有帮助!

你可能需要一个 js 函数来处理事件并进行更新

https://jsfiddle.net/devilfox/huasn28d/

<body>
                <section>
            <form name="frm1">
                <label>
                    <input type="radio" value="10" name="r1"
                        onClick="onChange(tEx1,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="15" name="r1"
                        onClick="onChange(tEx1,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="20" name="r1"
                        onClick="onChange(tEx1,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="25" name="r1"
                        onClick="onChange(tEx1,this.value)"/>
                </label>
                <label>
                            <input type="radio" value="30" name="r1"
                        onClick="onChange(tEx1,this.value)"/>
                </label>
                <label>
                    <input class="disp" type="text" name="tEx1" />
                </label>
            </form>
        </section>
        <section>
            <form name="frm2">
                <label>
                    <input type="radio" value="10" name="r2"
                        onClick="onChange(tEx2,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="15" name="r2"
                        onClick="onChange(tEx2,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="20" name="r2"
                        onClick="onChange(tEx2,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="25" name="r2"
                        onClick="onChange(tEx2,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="30" name="r2"
                        onClick="onChange(tEx2,this.value)"/>
                </label>
                <label>
                    <input class="disp" type="text" name="tEx2" />
                </label>
            </form>
        </section>
        <section>
            <form name="frm3">
                <label>
                    <input type="radio" value="10" name="r3"
                        onClick="onChange(tEx3,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="15" name="r3"
                        onClick="onChange(tEx3,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="20" name="r3"
                        onClick="onChange(tEx3,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="25" name="r3"
                        onClick="onChange(tEx3,this.value)"/>
                </label>
                <label>
                    <input type="radio" value="30" name="r3"
                        onClick="onChange(tEx3,this.value)"/>
                </label>
                <label>
                    <input class="disp" type="text" name="tEx3" />
                </label>
            </form>
        </section>
        <section>
                <label>
                    <input type="button" value="Sum" name="btn1">
                </label>
        </section>
        <section>
                <form name="frm4">
                <label>
                    <input type="text" name="tEx4" />
                </label>
                </form>
        </section>
<script>
 function onChange(element,val){
    element.value = val;
    $( ".disp" ).trigger("change");
  };
  var num = function(t){
    return ((!isNaN(t))&&t!='')?Number(t):0;
  };
</script>
</body>

(function(){
    $( ".disp" ).on('change',function() {
        var total = num($('[name="tEx1"]').val())+
    num($('[name="tEx2"]').val())+
    num($('[name="tEx3"]').val());          
    $('[name="tEx4"]').val(total);
});
})()

会为你做