Javascript 在JS中找到最大的数字

Javascript 在JS中找到最大的数字,javascript,function,max,Javascript,Function,Max,我试图在我的HTML中输入3个数字输入字段,如下所示: HTML文件- <label for="num1">Enter number 1.</label><input type="text" size="20" id="num1"> <label for="num2">Enter number 2.</label><input type="text" size="20" id="num2"> <label for=

我试图在我的HTML中输入3个数字输入字段,如下所示:

HTML文件-

<label for="num1">Enter number 1.</label><input type="text" size="20" id="num1">

<label for="num2">Enter number 2.</label><input type="text" size="20" id="num2">

<label for="num3">Enter number 3.</label><input type="text" size="20" id="num3">

<div id="greatestbutton" class="button">Click here to get the Greatest Number!</div>

<div>The greatest number is <span id="num1 || num2 || num3"></span></div>
我可以“看到”按钮接受点击,但我无法让它返回任何东西,更不用说最大的数字了

对这个新手的任何帮助都将不胜感激


谢谢

您没有将任何值传递给函数
greaterNumber
,它不仅仅自动获取值。在这种情况下,您希望从输入字段中为其提供值,可以通过多种方式实现,其中之一是:

var button = document.getElementById("greatestbutton");
button.onclick = function greaterNumber() {
    var a = parseFloat(document.getElementById('num1').value); // get value
    var b = parseFloat(document.getElementById('num2').value);
    var c = parseFloat(document.getElementById('num3').value);
    var greatest = Math.max(a, b, c);
    return greatest;
}

return
只是将值返回到您从中调用它的任何位置,在这个提琴中,我使用了
alert
来证明它是有效的

首先更改结果元素的id:

<div>The greatest number is <span id="result"></span></div>
有两点:

1) 您似乎假设表单的输入值将作为参数自动传递给事件回调。它们不会-传递给事件回调的只是事件对象本身。您需要自己手动获取这些值

2) 您不能仅仅从事件回调返回值-您需要对其进行处理

3) 你不会说如果一个或多个值不是数字会发生什么;大概应该会出现一条消息或什么的,这是我的假设

4) 不知道你所说的span上奇怪的
id
属性是什么意思;似乎您已经对这里的代码如何工作做了很多假设。给它一个类似“max_num”的ID

尝试:

document.querySelector(“#greatestbutton”).addEventListener('click',function(){
var num_nums=3,nums=[];

对于(var i=0;i在按钮的上下文中,你希望
return
做什么?^^我的想法是,值应该返回到哪里?谢谢,谢谢,谢谢!!我知道我遗漏了一些东西。因为太新了,你有时会忘记你必须返回并告诉它获取值。谢谢!!!这是遗漏的部分!!!
<div>The greatest number is <span id="result"></span></div>
var button = document.getElementById("greatestbutton");
button.onclick = function() {

  var num1 = document.getElementById('num1').value; // get value from inputs
  var num2 = document.getElementById('num2').value;
  var num3 = document.getElementById('num3').value;
  var a = parseFloat(num1);
  var b = parseFloat(num2);
  var c = parseFloat(num3);
  var greatest = Math.max(a, b, c);

  document.getElementById('result').innerHTML = greatest; // set value for result
}
document.querySelector('#greatestbutton').addEventListener('click', function() {
    var num_nums = 3, nums = [];
    for (var i=0; i<num_nums; i++) {
        var val = document.querySelector('#num'+(i+1)).value;
        if (!parseFloat(val)) { alert('bad input!'); return false; }
        nums.push(val);
    }
    document.querySelector('#max_num').innerHTML = Math.max.apply(null, nums);
}, false);