显示javascript函数的返回值

显示javascript函数的返回值,javascript,html,function,Javascript,Html,Function,我有一个函数,它接受两个参数并返回总和 现在我正在尝试创建一个包含两个数字的表单。单击按钮时,应调用函数sum并显示这两个数字的总和显示返回值的最佳方式是什么? 到目前为止,我的代码是: <form> <input type="number" id="firstnumber"/> <input type="number" id="secondnumber"/> <input type="button" on

我有一个函数,它接受两个参数并返回总和

现在我正在尝试创建一个包含两个数字的表单。单击按钮时,应调用函数sum并显示这两个数字的总和显示返回值的最佳方式是什么?

到目前为止,我的代码是:

<form>
        <input type="number" id="firstnumber"/>
        <input type="number" id="secondnumber"/>
        <input type="button" onclick="summa(document.getElementById(firstnumber),document.getElementById(secondnumber))" id="Summa" value="Calculate sum"/>
    </form>
    <div>
        <script type="text/javascript">
document.write(document.getElementById(Summa))
</script>
    </div>

document.write(document.getElementById(Summa))
功能:

<script type="text/javascript">
        function summa(number1, number2)
        {
            var sum = number1 + number2;
            return sum;
        }
    </script>

函数总和(数字1,数字2)
{
变量和=数值1+数值2;
回报金额;
}

关于你正在做的事情,有几件事情有点不确定。首先,您没有将从输入传递到函数;您正在传递元素本身。其次,在尝试将值写入文档时,您再次引用的是元素,而不是元素的值。最后,您将尝试将元素(或它们的字符串值,如果您正在检索它们的话)添加到一起,这只会连接到一个新字符串中,而不会执行实际的数学运算

这是我真正清理和修复您的尝试的方法:

<script type="text/javascript">
        function summa(number1, number2)
        {
            var sum = number1 + number2;
            return sum;
        }
    </script>
首先,让我们彻底摆脱丑陋而突兀的onclick事件处理程序(稍后我们将以不同方式连接事件处理程序):


添加第三个输入,以便显示总和:

<input type="text" id="sumnumber" />

现在,让我们在一个地方完成所有JavaScript工作,作为结束标记之前的最后一件事。这可以保持HTML的整洁,并且不会乱扔内联JavaScript,因此当您需要进行更改时,您不必对其进行深入研究

    ...
    <script type="text/javascript">

        // Your new summing function definition that takes input values
        function summa(valueOne, valueTwo) {
            // Convert the strings to numbers before doing the math
            return Number(valueOne) + Number(valueTwo);
        }

        // Now let's hold onto some references to the elements in the page
        var sumButton = document.getElementById('Summa');
        var firstNumber = document.getElementById('firstnumber');
        var secondNumber = document.getElementById('secondnumber');
        var sumNumber = document.getElementById('sumnumber');

        // Wire up the event
        sumButton.onclick = function() {
            // Re-use the variables outside of this scope to retrieve 
            var sum = summa(firstNumber.value, secondNumber.value);
            // Update the sum element with the result of the function
            sumNumber.value = sum.toString();
        };

    </script>
</body>
。。。
//接受输入值的新求和函数定义
函数summa(值一、值二){
//在进行数学运算之前,将字符串转换为数字
返回编号(valueOne)+编号(valueTwo);
}
//现在让我们保留一些对页面中元素的引用
var sumButton=document.getElementById('Summa');
var firstNumber=document.getElementById('firstNumber');
var secondNumber=document.getElementById('secondNumber');
var sumname=document.getElementById('sumname');
//把这件事联系起来
sumButton.onclick=函数(){
//重新使用此范围之外的变量来检索
var sum=summa(firstNumber.value,secondNumber.value);
//用函数的结果更新sum元素
sumNumber.value=sum.toString();
};
这里有一个正在工作的


注意:如果这将是生产代码,而不仅仅是一个教学示例,那么我会做其他事情,包括:(1)数字验证,(2)锁定输入(maxlength等)和输出(更新为
或类似内容)以及其他一些小事情。

你能提供你的
摘要吗()
仅为良好措施而实施?函数应接受两个参数。所以它不能“拉”函数中的firstnumber和secondnumber。我不能在函数之外做这件事,并将其用作函数的参数吗?@user3265963:我知道我一直在疯狂地编辑,但我将我的原始答案简化为最后一个具体示例。